[dpdk-dev] [PATCH v7] mbuf: provide rte_pktmbuf_alloc_bulk API

Thomas Monjalon thomas.monjalon at 6wind.com
Mon Feb 29 17:27:47 CET 2016


2016-02-28 20:44, Huawei Xie:
> v7 changes:
>  rte_pktmbuf_alloc_bulk isn't exported as API, so shouldn't be listed in
> version map
> 
> v6 changes:
>  reflect the changes in release notes and library version map file
>  revise our duff's code style a bit to make it more readable
> 
> v5 changes:
>  add comment about duff's device and our variant implementation
> 
> v3 changes:
>  move while after case 0
>  add context about duff's device and why we use while loop in the commit
> message
> 
> v2 changes:
>  unroll the loop a bit to help the performance
> 
> rte_pktmbuf_alloc_bulk allocates a bulk of packet mbufs.
> 
> There is related thread about this bulk API.
> http://dpdk.org/dev/patchwork/patch/4718/
> Thanks to Konstantin's loop unrolling.
> 
> Attached the wiki page about duff's device. It explains the performance
> optimization through loop unwinding, and also the most dramatic use of
> case label fall-through.
> https://en.wikipedia.org/wiki/Duff%27s_device
> 
> In this implementation, while() loop is used because we could not assume
> count is strictly positive. Using while() loop saves one line of check.
> 
> Signed-off-by: Gerald Rogers <gerald.rogers at intel.com>
> Signed-off-by: Huawei Xie <huawei.xie at intel.com>
> Acked-by: Konstantin Ananyev <konstantin.ananyev at intel.com>
> Acked-by: Olivier Matz <olivier.matz at 6wind.com>

Applied, thanks



More information about the dev mailing list