[dpdk-dev] [PATCH v4] app/testpmd: add option ring-bind-lcpu to bind Q with CPU

Lu, Wenzhuo wenzhuo.lu at intel.com
Mon Jan 15 09:31:52 CET 2018


Hi Simon,


> -----Original Message-----
> From: wei.guo.simon at gmail.com [mailto:wei.guo.simon at gmail.com]
> Sent: Wednesday, January 10, 2018 4:00 PM
> To: Lu, Wenzhuo <wenzhuo.lu at intel.com>
> Cc: dev at dpdk.org; Simon Guo <wei.guo.simon at gmail.com>
> Subject: [PATCH v4] app/testpmd: add option ring-bind-lcpu to bind Q with
> CPU
> 
> From: Simon Guo <wei.guo.simon at gmail.com>
> 
> Currently the rx/tx queue is allocated from the buffer pool on socket of:
> - port's socket if --port-numa-config specified
> - or ring-numa-config setting per port
> 
> All the above will "bind" queue to single socket per port configuration.
> But it can actually archieve better performance if one port's queue can be
> spread across multiple NUMA nodes, and the rx/tx queue is allocated per
> lcpu socket.
> 
> This patch adds a new option "--ring-bind-lcpu"(no parameter).  With this,
> testpmd can utilize the PCI-e bus bandwidth on another NUMA nodes.
> 
> When --port-numa-config or --ring-numa-config option is specified, this --
> ring-bind-lcpu option will be suppressed.
> 
> Test result:
> 64bytes package, running in PowerPC with Mellanox
> CX-4 card, single port(100G), with 8 cores, fw mode:
> - Without this patch:  52.5Mpps throughput
> - With this patch: 66Mpps throughput
>       ~25% improvement
> 
> Signed-off-by: Simon Guo <wei.guo.simon at gmail.com>
This patch is fine. But for the new parameter, please update this doc, run_app.rst. Thanks.


More information about the dev mailing list