[ovs-dev] [PATCH v3] netdev-dpdk: round up mbuf_size to cache_line_size

Santosh Shukla santosh.shukla at caviumnetworks.com
Mon Jun 12 14:38:18 UTC 2017


Some pmd driver(e.g: vNIC thunderx PMD) want mbuf_size to be multiple of
cache_line_size. With out this fix, Netdev-dpdk initialization would
fail for those PMD.

Signed-off-by: Santosh Shukla <santosh.shukla at caviumnetworks.com>
Acked-by: Mark Kavanagh <mark.b.kavanagh at intel.com>
Tested-by: Mark Kavanagh <mark.b.kavanagh at intel.com>
---
v1 --> v2
 - Removed mtu to dmp->mtu change in v2.
 - Removed extra MTU macro definition (_MBUF_SIZE) in v2. Now MBUF_SIZE
 looks after the round_up.
 - For details refer v1 [1].
[1] https://patchwork.ozlabs.org/patch/769113/

v2 --> v3
 - Included Ian tag. For more info refer v2 [2]
[2] https://patchwork.ozlabs.org/patch/773693/

 lib/netdev-dpdk.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
index 810800ed3..023880ca6 100644
--- a/lib/netdev-dpdk.c
+++ b/lib/netdev-dpdk.c
@@ -76,9 +76,10 @@ static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(5, 20);
 #define MTU_TO_MAX_FRAME_LEN(mtu)   ((mtu) + ETHER_HDR_MAX_LEN)
 #define FRAME_LEN_TO_MTU(frame_len) ((frame_len)                    \
                                      - ETHER_HDR_LEN - ETHER_CRC_LEN)
-#define MBUF_SIZE(mtu)              (MTU_TO_MAX_FRAME_LEN(mtu)      \
-                                     + sizeof(struct dp_packet)     \
-                                     + RTE_PKTMBUF_HEADROOM)
+#define MBUF_SIZE(mtu)              ROUND_UP((MTU_TO_MAX_FRAME_LEN(mtu) \
+                                             + sizeof(struct dp_packet) \
+                                             + RTE_PKTMBUF_HEADROOM),   \
+                                             RTE_CACHE_LINE_SIZE)
 #define NETDEV_DPDK_MBUF_ALIGN      1024
 #define NETDEV_DPDK_MAX_PKT_LEN     9728
 
-- 
2.13.0



More information about the dev mailing list