DPDK patches and discussions
 help / color / mirror / Atom feed
From: Shreyansh Jain <shreyansh.jain@nxp.com>
To: "dev@dpdk.org" <dev@dpdk.org>
Subject: [dpdk-dev] RFC: Support for multiple buffer pool in examples/l3fwd
Date: Thu, 29 Nov 2018 17:28:16 +0000	[thread overview]
Message-ID: <VI1PR04MB4688945C3DE11CFE0EBBB1AE90D20@VI1PR04MB4688.eurprd04.prod.outlook.com> (raw)

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

                 reply	other threads:[~2018-11-29 17:28 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=VI1PR04MB4688945C3DE11CFE0EBBB1AE90D20@VI1PR04MB4688.eurprd04.prod.outlook.com \
    --to=shreyansh.jain@nxp.com \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).