* |WARNING| pw105103 [PATCH] vhost: rename field in guest page struct
@ 2021-12-13 15:18 dpdklab
0 siblings, 0 replies; only message in thread
From: dpdklab @ 2021-12-13 15:18 UTC (permalink / raw)
To: test-report; +Cc: dpdk-test-reports
[-- Attachment #1: Type: text/plain, Size: 7122 bytes --]
Test-Label: iol-testing
Test-Status: WARNING
http://dpdk.org/patch/105103
_apply patch failure_
Submitter: Xuan Ding <xuan.ding@intel.com>
Date: Monday, December 13 2021 17:20:01
Applied on: CommitID:042f5a355a57b31a9f87824173a9d427b21abdb8
Apply patch set 105103 failed:
Checking patch lib/vhost/vhost.h...
error: while searching for:
struct guest_page {
uint64_t guest_phys_addr;
uint64_t host_phys_addr;
uint64_t host_user_addr;
uint64_t size;
};
error: patch failed: lib/vhost/vhost.h:354
Hunk #2 succeeded at 604 (offset -1 lines).
Hunk #3 succeeded at 621 (offset -1 lines).
Checking patch lib/vhost/vhost_user.c...
error: while searching for:
page = &dev->guest_pages[i];
ret = rte_vfio_container_dma_map(RTE_VFIO_DEFAULT_CONTAINER_FD,
page->host_user_addr,
page->host_phys_addr,
page->size);
if (ret) {
/*
error: patch failed: lib/vhost/vhost_user.c:154
error: while searching for:
page = &dev->guest_pages[i];
ret = rte_vfio_container_dma_unmap(RTE_VFIO_DEFAULT_CONTAINER_FD,
page->host_user_addr,
page->host_phys_addr,
page->size);
if (ret) {
/* like DMA map, ignore the kernel driver case when unmap. */
error: patch failed: lib/vhost/vhost_user.c:182
error: while searching for:
static int
add_one_guest_page(struct virtio_net *dev, uint64_t guest_phys_addr,
uint64_t host_phys_addr, uint64_t host_user_addr, uint64_t size)
{
struct guest_page *page, *last_page;
struct guest_page *old_pages;
error: patch failed: lib/vhost/vhost_user.c:977
error: while searching for:
if (dev->nr_guest_pages > 0) {
last_page = &dev->guest_pages[dev->nr_guest_pages - 1];
/* merge if the two pages are continuous */
if (host_phys_addr == last_page->host_phys_addr + last_page->size
&& guest_phys_addr == last_page->guest_phys_addr + last_page->size
&& host_user_addr == last_page->host_user_addr + last_page->size) {
last_page->size += size;
error: patch failed: lib/vhost/vhost_user.c:998
error: while searching for:
page = &dev->guest_pages[dev->nr_guest_pages++];
page->guest_phys_addr = guest_phys_addr;
page->host_phys_addr = host_phys_addr;
page->host_user_addr = host_user_addr;
page->size = size;
error: patch failed: lib/vhost/vhost_user.c:1008
error: while searching for:
uint64_t reg_size = reg->size;
uint64_t host_user_addr = reg->host_user_addr;
uint64_t guest_phys_addr = reg->guest_phys_addr;
uint64_t host_phys_addr;
uint64_t size;
host_phys_addr = rte_mem_virt2iova((void *)(uintptr_t)host_user_addr);
size = page_size - (guest_phys_addr & (page_size - 1));
size = RTE_MIN(size, reg_size);
if (add_one_guest_page(dev, guest_phys_addr, host_phys_addr,
host_user_addr, size) < 0)
return -1;
error: patch failed: lib/vhost/vhost_user.c:1022
error: while searching for:
while (reg_size > 0) {
size = RTE_MIN(reg_size, page_size);
host_phys_addr = rte_mem_virt2iova((void *)(uintptr_t)
host_user_addr);
if (add_one_guest_page(dev, guest_phys_addr, host_phys_addr,
host_user_addr, size) < 0)
return -1;
error: patch failed: lib/vhost/vhost_user.c:1039
Hunk #8 succeeded at 1071 (offset -2 lines).
Checking patch lib/vhost/virtio_net.c...
Applying patch lib/vhost/vhost.h with 1 reject...
Rejected hunk #1.
Hunk #2 applied cleanly.
Hunk #3 applied cleanly.
Applying patch lib/vhost/vhost_user.c with 7 rejects...
Rejected hunk #1.
Rejected hunk #2.
Rejected hunk #3.
Rejected hunk #4.
Rejected hunk #5.
Rejected hunk #6.
Rejected hunk #7.
Hunk #8 applied cleanly.
Applied patch lib/vhost/virtio_net.c cleanly.
diff a/lib/vhost/vhost.h b/lib/vhost/vhost.h (rejected hunks)
@@ -354,7 +354,7 @@ struct vring_packed_desc_event {
struct guest_page {
uint64_t guest_phys_addr;
- uint64_t host_phys_addr;
+ uint64_t host_iova;
uint64_t host_user_addr;
uint64_t size;
};
diff a/lib/vhost/vhost_user.c b/lib/vhost/vhost_user.c (rejected hunks)
@@ -154,7 +154,7 @@ async_dma_map(struct virtio_net *dev, bool do_map)
page = &dev->guest_pages[i];
ret = rte_vfio_container_dma_map(RTE_VFIO_DEFAULT_CONTAINER_FD,
page->host_user_addr,
- page->host_phys_addr,
+ page->host_iova,
page->size);
if (ret) {
/*
@@ -182,7 +182,7 @@ async_dma_map(struct virtio_net *dev, bool do_map)
page = &dev->guest_pages[i];
ret = rte_vfio_container_dma_unmap(RTE_VFIO_DEFAULT_CONTAINER_FD,
page->host_user_addr,
- page->host_phys_addr,
+ page->host_iova,
page->size);
if (ret) {
/* like DMA map, ignore the kernel driver case when unmap. */
@@ -977,7 +977,7 @@ vhost_user_set_vring_base(struct virtio_net **pdev,
static int
add_one_guest_page(struct virtio_net *dev, uint64_t guest_phys_addr,
- uint64_t host_phys_addr, uint64_t host_user_addr, uint64_t size)
+ uint64_t host_iova, uint64_t host_user_addr, uint64_t size)
{
struct guest_page *page, *last_page;
struct guest_page *old_pages;
@@ -998,7 +998,7 @@ add_one_guest_page(struct virtio_net *dev, uint64_t guest_phys_addr,
if (dev->nr_guest_pages > 0) {
last_page = &dev->guest_pages[dev->nr_guest_pages - 1];
/* merge if the two pages are continuous */
- if (host_phys_addr == last_page->host_phys_addr + last_page->size
+ if (host_iova == last_page->host_iova + last_page->size
&& guest_phys_addr == last_page->guest_phys_addr + last_page->size
&& host_user_addr == last_page->host_user_addr + last_page->size) {
last_page->size += size;
@@ -1008,7 +1008,7 @@ add_one_guest_page(struct virtio_net *dev, uint64_t guest_phys_addr,
page = &dev->guest_pages[dev->nr_guest_pages++];
page->guest_phys_addr = guest_phys_addr;
- page->host_phys_addr = host_phys_addr;
+ page->host_iova = host_iova;
page->host_user_addr = host_user_addr;
page->size = size;
@@ -1022,14 +1022,14 @@ add_guest_pages(struct virtio_net *dev, struct rte_vhost_mem_region *reg,
uint64_t reg_size = reg->size;
uint64_t host_user_addr = reg->host_user_addr;
uint64_t guest_phys_addr = reg->guest_phys_addr;
- uint64_t host_phys_addr;
+ uint64_t host_iova;
uint64_t size;
- host_phys_addr = rte_mem_virt2iova((void *)(uintptr_t)host_user_addr);
+ host_iova = rte_mem_virt2iova((void *)(uintptr_t)host_user_addr);
size = page_size - (guest_phys_addr & (page_size - 1));
size = RTE_MIN(size, reg_size);
- if (add_one_guest_page(dev, guest_phys_addr, host_phys_addr,
+ if (add_one_guest_page(dev, guest_phys_addr, host_iova,
host_user_addr, size) < 0)
return -1;
@@ -1039,9 +1039,9 @@ add_guest_pages(struct virtio_net *dev, struct rte_vhost_mem_region *reg,
while (reg_size > 0) {
size = RTE_MIN(reg_size, page_size);
- host_phys_addr = rte_mem_virt2iova((void *)(uintptr_t)
+ host_iova = rte_mem_virt2iova((void *)(uintptr_t)
host_user_addr);
- if (add_one_guest_page(dev, guest_phys_addr, host_phys_addr,
+ if (add_one_guest_page(dev, guest_phys_addr, host_iova,
host_user_addr, size) < 0)
return -1;
https://lab.dpdk.org/results/dashboard/patchsets/20483/
UNH-IOL DPDK Community Lab
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-12-13 15:18 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-13 15:18 |WARNING| pw105103 [PATCH] vhost: rename field in guest page struct dpdklab
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).