|WARNING| pw116048 [PATCH] [v2, 2/5] mbuf: add second dynamic field member for VA only build

dpdklab at iol.unh.edu dpdklab at iol.unh.edu
Wed Sep 7 20:21:26 CEST 2022


Test-Label: iol-testing
Test-Status: WARNING
http://dpdk.org/patch/116048

_apply patch failure_

Submitter: Shijith Thotton <sthotton at marvell.com>
Date: Wednesday, September 07 2022 13:43:37 
Applied on: CommitID:4aee6110bb10b0225fa9562f2e48af233a9058a1
Apply patch set 116048 failed:

Checking patch lib/mbuf/rte_mbuf_core.h...
error: while searching for:
	RTE_MARKER cacheline0;

	void *buf_addr;           /**< Virtual address of segment buffer. */
	/**
	 * Physical address of segment buffer.
	 * This field is invalid if the build is configured to use only
	 * virtual address as IOVA (i.e. RTE_IOVA_AS_VA is 1).
	 * Force alignment to 8-bytes, so as to ensure we have the exact
	 * same mbuf cacheline0 layout for 32-bit and 64-bit. This makes
	 * working on vector drivers easier.
	 */
	rte_iova_t buf_iova __rte_aligned(sizeof(rte_iova_t));

	/* next 8 bytes are initialised on RX descriptor rearm */
	RTE_MARKER64 rearm_data;

error: patch failed: lib/mbuf/rte_mbuf_core.h:579
Checking patch lib/mbuf/rte_mbuf_dyn.c...
Applying patch lib/mbuf/rte_mbuf_core.h with 1 reject...
Rejected hunk #1.
Applied patch lib/mbuf/rte_mbuf_dyn.c cleanly.
diff a/lib/mbuf/rte_mbuf_core.h b/lib/mbuf/rte_mbuf_core.h	(rejected hunks)
@@ -579,15 +579,23 @@ struct rte_mbuf {
 	RTE_MARKER cacheline0;
 
 	void *buf_addr;           /**< Virtual address of segment buffer. */
-	/**
-	 * Physical address of segment buffer.
-	 * This field is invalid if the build is configured to use only
-	 * virtual address as IOVA (i.e. RTE_IOVA_AS_VA is 1).
-	 * Force alignment to 8-bytes, so as to ensure we have the exact
-	 * same mbuf cacheline0 layout for 32-bit and 64-bit. This makes
-	 * working on vector drivers easier.
-	 */
-	rte_iova_t buf_iova __rte_aligned(sizeof(rte_iova_t));
+	RTE_STD_C11
+	union {
+		/**
+		 * Physical address of segment buffer.
+		 * This field is invalid if the build is configured to use only
+		 * virtual address as IOVA (i.e. RTE_IOVA_AS_VA is 1).
+		 * Force alignment to 8-bytes, so as to ensure we have the exact
+		 * same mbuf cacheline0 layout for 32-bit and 64-bit. This makes
+		 * working on vector drivers easier.
+		 */
+		rte_iova_t buf_iova __rte_aligned(sizeof(rte_iova_t));
+		/**
+		 * Reserved for dynamic field in builds where physical address
+		 * field is invalid.
+		 */
+		uint64_t dynfield2;
+	};
 
 	/* next 8 bytes are initialised on RX descriptor rearm */
 	RTE_MARKER64 rearm_data;

https://lab.dpdk.org/results/dashboard/patchsets/23444/

UNH-IOL DPDK Community Lab


More information about the test-report mailing list