[PATCH v4 0/2] add a fast path for memif Rx/Tx

Ferruh Yigit ferruh.yigit at amd.com
Thu Sep 22 11:12:39 CEST 2022


On 9/15/2022 7:58 AM, Joyce Kong wrote:
> For memif non-zero-copy mode, there is a branch to compare
> the mbuf and memif buffer size during memory copy. Add a
> fast memcpy path by removing this branch with mbuf and memif
> buffer size defined at compile time. For Rx fast path, bulk
> allocating mbufs to get additional speedup. For Tx fast path,
> bulk free mbufs which come from the same mempool.
> 
> When mbuf == memif buffer size, both Rx/Tx would choose the
> fast memcpy path. When mbuf < memif buffer size, the Rx
> chooses previous memcpy path while Tx chooses fast memcpy
> path. When mbuf > memif buffer size, the Rx chooses fast
> memcpy path while Tx chooses previous memcpy path.
> 
> Test with 1p1q on N1SDP AArch64 server,
> ---------------------------------------------------------
>    buf size  | memif = mbuf | memif < mbuf | memif > mbuf
> ---------------------------------------------------------
> non-zc gain |    47.16%    |    24.67%    |    12.47%
> ---------------------------------------------------------
>     zc gain  |    20.96%    |     9.16%    |    10.66%
> ---------------------------------------------------------
> 
> Test with 1p1q on Cascade Lake Xeon X86 server,
> ---------------------------------------------------------
>    buf size  | memif = mbuf | memif < mbuf | memif > mbuf
> ---------------------------------------------------------
> non-zc gain |    23.52%    |    14.20%    |     5.10%
> ---------------------------------------------------------
>     zc gain  |    17.49%    |    10.62%    |    12.42%
> ---------------------------------------------------------
> 
> v4:
>   1.Fix incorrect indentation.
>   2.Fix the mbuf array length to avoid additional overhead if
>     stack-protector strong is enabled. <Stephen Hemminger>
> 
> v3:
>   Add bulk allocation to get additional speedup for memif Rx
>   fast path. <Stephen Hemminger>
> 
> v2:
>   Rebase v1 and update commit message.
> 
> Joyce Kong (2):
>    net/memif: add a Rx fast path
>    net/memif: add a Tx fast path
> 

Hi Jakub,

Reminder of this set waiting for your review.

Thanks,
ferruh



More information about the dev mailing list