automatic DPDK test reports
 help / color / mirror / Atom feed
* |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).