DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] RFC: Support for multiple buffer pool in examples/l3fwd
@ 2018-11-29 17:28 Shreyansh Jain
  0 siblings, 0 replies; only message in thread
From: Shreyansh Jain @ 2018-11-29 17:28 UTC (permalink / raw)
  To: dev

Currently examples/l3fwd/main.c has support for pktmbuf_pool per socket.

L136: static struct rte_mempool * pktmbuf_pool[NB_SOCKETS];                          

In various setups, having a separate buffer pool per port (or even per queue) can achieve performance many-folds higher than single pool case.
Being the most widely used/referred example application for raw performance, examples/l3fwd needs to support such scenarios.

The changes I am expecting are very minimal:

1. Changing pktmbuf_pool[NB_SOCKETS] to either
  - a multi-dimensional array for pktmbuf_pool[NB_SOCKETS][RTE_MAX_ETHPORTS]
  - or pktmbuf_pool[NB_SOCKETS*RTE_MAX_ETHPORTS]
Such that for a given (port, socket) combination, a buffer pool is allocated.
2. This would be done on passing a l3fwd specific argument "--per-port-bpool"
3. During rte_eth_rx_queue_setup(), pool passed would continue to be the one for that (port,socket) combination

It is also possible to extend this behavior to per queue basis, but probably for the first iteration per-port can be supported. If use-cases for per-queue arise, another "-per-queue-bpool" can be added. (But, that would also need a larger pktmbuf_pool array.

I am hoping to push out a first-cut very soon.

Regards,
Shreyansh

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2018-11-29 17:28 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-29 17:28 [dpdk-dev] RFC: Support for multiple buffer pool in examples/l3fwd Shreyansh Jain

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).