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

Stokes, Ian ian.stokes at intel.com
Mon Jun 12 15:00:57 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

Acked-by: Ian Stokes <ian.stokes at intel.com>
> 
> --
> 2.13.0



More information about the dev mailing list