From: Stephen Hemminger <stephen@networkplumber.org>
To: "Joseph, Anoob" <Anoob.Joseph@caviumnetworks.com>
Cc: Thomas Monjalon <thomas@monjalon.net>,
dev@dpdk.org, Bruce Richardson <bruce.richardson@intel.com>,
Pablo de Lara <pablo.de.lara.guarch@intel.com>,
Jerin Jacob <jerin.jacob@caviumnetworks.com>,
Narayana Prasad <narayanaprasad.athreya@caviumnetworks.com>,
Hemant Agrawal <hemant.agrawal@nxp.com>,
"Ananyev, Konstantin" <konstantin.ananyev@intel.com>,
Sunil Kumar Kori <sunil.kori@nxp.com>,
Nikhil Rao <nikhil.rao@intel.com>
Subject: Re: [dpdk-dev] [PATCH v2 00/12] preparing l2fwd for eventmode additions
Date: Wed, 1 Aug 2018 09:54:14 -0700 [thread overview]
Message-ID: <20180801095414.7bc34b30@xeon-e3> (raw)
In-Reply-To: <e1777177-1aef-2558-8221-a76631dcf932@caviumnetworks.com>
On Wed, 1 Aug 2018 12:29:50 +0530
"Joseph, Anoob" <Anoob.Joseph@caviumnetworks.com> wrote:
> Hi Thomas,
>
> On 26-07-2018 22:27, Thomas Monjalon wrote:
> > External Email
> >
> >> Anoob Joseph (12):
> >> examples/l2fwd: move macro definitions to common header
> >> examples/l2fwd: move structure definitions to common header
> >> examples/l2fwd: move globally accessed vars to common header
> >> examples/l2fwd: move dataplane code to new file
> >> examples/l2fwd: remove unused header includes
> >> examples/l2fwd: move drain buffers to new function
> >> examples/l2fwd: optimize check for master core
> >> examples/l2fwd: move periodic tasks to new function
> >> examples/l2fwd: skip timer updates for non master cores
> >> examples/l2fwd: move pkt send code to a new function
> >> examples/l2fwd: use fprint instead of printf for usage print
> >> examples/l2fwd: improvements to the usage print
> > Maintainers of this app look to be against adding complexity.
> >
> > In order to get this series accepted, we need more discussions
> > with more people involved.
> > So it will miss 18.08.
> >
> > It can be discussed in a more global discussion about examples maintenance.
> > If discussion does not happen, you can request it to the technical board.
> >
> Event dev framework and various adapters enable multiple packet handling
> schemes, as opposed to the traditional polling on queues. But these
> features are not integrated into any established example application.
> There are specific example applications for event dev etc, which can be
> used to analyze an event device or a particular eventdev adapter, but
> there is no standard application which can be used to compare the real
> world performance for a system when it's using event device for packet
> handling and when it's done via polling on queues.
>
> The following patch submitted by Sunil was looking to address this issue
> with l3fwd,
> https://mails.dpdk.org/archives/dev/2018-March/093131.html
>
> Bruce & Jerin reviewed the patch and suggested the addition of helper
> functions to abstract the event mode additions in applications,
> https://mails.dpdk.org/archives/dev/2018-April/096879.html
>
> This effort of adding helper functions for eventmode was taken up
> following the above suggestion. The idea is to add eventmode without
> touching the existing code path. All the eventmode specific additions
> would go into library so that these need not be repeated for every
> application. And since there is no change in the existing code path,
> performance for any vendor should not have any impact with the additions.
>
> The scope of this effort has increased since the submission, as now we
> have Tx adapter as well. Sunil & Konstantin had clarified their
> concerns, and gave green flag to this approach.
> https://mails.dpdk.org/archives/dev/2018-June/105730.html
> https://mails.dpdk.org/archives/dev/2018-July/106453.html
>
> I guess Bruce was opening this question to the community. For compute
> intense applications like ipsec-secgw, eventmode might be the right
> approach in the first place. Such complex applications would need a
> scheduler to perform dynamic load balancing. Addition of eventmode in
> l2fwd was to float around the idea which can then be scaled for more
> complex applications.
>
> If maintainers doesn't have any objection to this, I'm fine with adding
> this in the next release.
>
> Thanks,
> Anoob
It is important that DPDK has good examples of how to use existing
frameworks and libraries. These applications are what most customers
build their applications from and they provide basis for testing.
The DPDK needs to continue to support multiple usage models. This
is one of its strong points. I would rather leave existing l2fwd
and l3fwd alone and instead make new examples that use the frameworks.
If nothing else haveing l2fwd and l2fwd-eventdev would allow for
performance comparisons.
As the number of examples increases, probably also need to have
a roadmap or decision chart to explain the advangage/disadvantage
of each architecture.
next prev parent reply other threads:[~2018-08-01 16:54 UTC|newest]
Thread overview: 83+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-08 17:09 [dpdk-dev] [PATCH 00/15] " Anoob Joseph
2018-06-08 17:09 ` [dpdk-dev] [PATCH 01/15] examples/l2fwd: add new header to move common code Anoob Joseph
2018-06-08 17:09 ` [dpdk-dev] [PATCH 02/15] examples/l2fwd: move macro definitions to common header Anoob Joseph
2018-06-08 17:09 ` [dpdk-dev] [PATCH 03/15] examples/l2fwd: move structure " Anoob Joseph
2018-06-08 17:09 ` [dpdk-dev] [PATCH 04/15] examples/l2fwd: move globally accessed vars " Anoob Joseph
2018-06-08 17:09 ` [dpdk-dev] [PATCH 05/15] examples/l2fwd: add missing space Anoob Joseph
2018-06-08 17:09 ` [dpdk-dev] [PATCH 06/15] examples/l2fwd: fix lines exceeding 80 char limit Anoob Joseph
2018-06-08 17:09 ` [dpdk-dev] [PATCH 07/15] examples/l2fwd: move dataplane code to new file Anoob Joseph
2018-06-08 17:09 ` [dpdk-dev] [PATCH 08/15] examples/l2fwd: remove unused header includes Anoob Joseph
2018-06-08 17:09 ` [dpdk-dev] [PATCH 09/15] examples/l2fwd: move drain buffers to new function Anoob Joseph
2018-06-08 17:09 ` [dpdk-dev] [PATCH 10/15] examples/l2fwd: optimize check for master core Anoob Joseph
2018-06-08 17:09 ` [dpdk-dev] [PATCH 11/15] examples/l2fwd: move periodic tasks to new function Anoob Joseph
2018-06-08 17:09 ` [dpdk-dev] [PATCH 12/15] examples/l2fwd: skip timer updates for non master cores Anoob Joseph
2018-06-08 17:09 ` [dpdk-dev] [PATCH 13/15] examples/l2fwd: move pkt send code to a new function Anoob Joseph
2018-06-08 17:09 ` [dpdk-dev] [PATCH 14/15] examples/l2fwd: use fprint instead of printf for usage print Anoob Joseph
2018-06-08 17:09 ` [dpdk-dev] [PATCH 15/15] examples/l2fwd: improvements to the " Anoob Joseph
2018-06-14 10:17 ` [dpdk-dev] [PATCH v1 00/15] preparing l2fwd for eventmode additions Anoob Joseph
2018-06-14 10:17 ` [dpdk-dev] [PATCH v1 01/15] examples/l2fwd: add new header to move common code Anoob Joseph
2018-07-09 22:46 ` De Lara Guarch, Pablo
2018-07-10 3:16 ` Anoob Joseph
2018-07-10 10:20 ` De Lara Guarch, Pablo
2018-06-14 10:17 ` [dpdk-dev] [PATCH v1 02/15] examples/l2fwd: move macro definitions to common header Anoob Joseph
2018-06-14 10:17 ` [dpdk-dev] [PATCH v1 03/15] examples/l2fwd: move structure " Anoob Joseph
2018-06-14 10:17 ` [dpdk-dev] [PATCH v1 04/15] examples/l2fwd: move globally accessed vars " Anoob Joseph
2018-06-14 10:17 ` [dpdk-dev] [PATCH v1 05/15] examples/l2fwd: add missing space Anoob Joseph
2018-06-14 10:17 ` [dpdk-dev] [PATCH v1 06/15] examples/l2fwd: fix lines exceeding 80 char limit Anoob Joseph
2018-07-09 22:48 ` De Lara Guarch, Pablo
2018-06-14 10:17 ` [dpdk-dev] [PATCH v1 07/15] examples/l2fwd: move dataplane code to new file Anoob Joseph
2018-06-14 10:17 ` [dpdk-dev] [PATCH v1 08/15] examples/l2fwd: remove unused header includes Anoob Joseph
2018-06-14 10:17 ` [dpdk-dev] [PATCH v1 09/15] examples/l2fwd: move drain buffers to new function Anoob Joseph
2018-07-09 22:49 ` De Lara Guarch, Pablo
2018-07-10 3:17 ` Anoob Joseph
2018-06-14 10:17 ` [dpdk-dev] [PATCH v1 10/15] examples/l2fwd: optimize check for master core Anoob Joseph
2018-06-14 10:17 ` [dpdk-dev] [PATCH v1 11/15] examples/l2fwd: move periodic tasks to new function Anoob Joseph
2018-06-14 10:17 ` [dpdk-dev] [PATCH v1 12/15] examples/l2fwd: skip timer updates for non master cores Anoob Joseph
2018-06-14 10:17 ` [dpdk-dev] [PATCH v1 13/15] examples/l2fwd: move pkt send code to a new function Anoob Joseph
2018-06-14 10:17 ` [dpdk-dev] [PATCH v1 14/15] examples/l2fwd: use fprint instead of printf for usage print Anoob Joseph
2018-06-14 10:17 ` [dpdk-dev] [PATCH v1 15/15] examples/l2fwd: improvements to the " Anoob Joseph
2018-06-14 11:48 ` [dpdk-dev] [PATCH v1 00/15] preparing l2fwd for eventmode additions Anoob Joseph
2018-06-14 11:48 ` [dpdk-dev] [PATCH v1 01/15] examples/l2fwd: add new header to move common code Anoob Joseph
2018-06-14 11:48 ` [dpdk-dev] [PATCH v1 02/15] examples/l2fwd: move macro definitions to common header Anoob Joseph
2018-06-14 11:48 ` [dpdk-dev] [PATCH v1 03/15] examples/l2fwd: move structure " Anoob Joseph
2018-06-14 11:48 ` [dpdk-dev] [PATCH v1 04/15] examples/l2fwd: move globally accessed vars " Anoob Joseph
2018-06-14 11:48 ` [dpdk-dev] [PATCH v1 05/15] examples/l2fwd: add missing space Anoob Joseph
2018-07-09 22:51 ` De Lara Guarch, Pablo
2018-07-10 3:23 ` Anoob Joseph
2018-06-14 11:48 ` [dpdk-dev] [PATCH v1 06/15] examples/l2fwd: fix lines exceeding 80 char limit Anoob Joseph
2018-06-14 11:48 ` [dpdk-dev] [PATCH v1 07/15] examples/l2fwd: move dataplane code to new file Anoob Joseph
2018-06-14 11:48 ` [dpdk-dev] [PATCH v1 08/15] examples/l2fwd: remove unused header includes Anoob Joseph
2018-06-14 11:49 ` [dpdk-dev] [PATCH v1 09/15] examples/l2fwd: move drain buffers to new function Anoob Joseph
2018-06-14 11:49 ` [dpdk-dev] [PATCH v1 10/15] examples/l2fwd: optimize check for master core Anoob Joseph
2018-06-14 11:49 ` [dpdk-dev] [PATCH v1 11/15] examples/l2fwd: move periodic tasks to new function Anoob Joseph
2018-06-14 11:49 ` [dpdk-dev] [PATCH v1 12/15] examples/l2fwd: skip timer updates for non master cores Anoob Joseph
2018-06-14 11:49 ` [dpdk-dev] [PATCH v1 13/15] examples/l2fwd: move pkt send code to a new function Anoob Joseph
2018-06-14 11:49 ` [dpdk-dev] [PATCH v1 14/15] examples/l2fwd: use fprint instead of printf for usage print Anoob Joseph
2018-06-14 11:49 ` [dpdk-dev] [PATCH v1 15/15] examples/l2fwd: improvements to the " Anoob Joseph
2018-06-19 10:04 ` [dpdk-dev] [PATCH v1 00/15] preparing l2fwd for eventmode additions Anoob Joseph
2018-06-19 10:09 ` Bruce Richardson
2018-06-19 14:07 ` Anoob Joseph
2018-07-03 13:16 ` Joseph, Anoob
2018-07-11 6:07 ` [dpdk-dev] [PATCH v2 00/12] " Anoob Joseph
2018-07-11 6:07 ` [dpdk-dev] [PATCH v2 01/12] examples/l2fwd: move macro definitions to common header Anoob Joseph
2018-07-11 6:07 ` [dpdk-dev] [PATCH v2 03/12] examples/l2fwd: move globally accessed vars " Anoob Joseph
2018-07-11 6:07 ` [dpdk-dev] [PATCH v2 04/12] examples/l2fwd: move dataplane code to new file Anoob Joseph
2018-07-11 6:07 ` [dpdk-dev] [PATCH v2 05/12] examples/l2fwd: remove unused header includes Anoob Joseph
2018-07-11 6:07 ` [dpdk-dev] [PATCH v2 06/12] examples/l2fwd: move drain buffers to new function Anoob Joseph
2018-07-11 6:07 ` [dpdk-dev] [PATCH v2 07/12] examples/l2fwd: optimize check for master core Anoob Joseph
2018-07-11 6:07 ` [dpdk-dev] [PATCH v2 08/12] examples/l2fwd: move periodic tasks to new function Anoob Joseph
2018-07-11 6:07 ` [dpdk-dev] [PATCH v2 09/12] examples/l2fwd: skip timer updates for non master cores Anoob Joseph
2018-07-11 6:07 ` [dpdk-dev] [PATCH v2 10/12] examples/l2fwd: move pkt send code to a new function Anoob Joseph
2018-07-11 6:07 ` [dpdk-dev] [PATCH v2 11/12] examples/l2fwd: use fprint instead of printf for usage print Anoob Joseph
2018-07-11 6:07 ` [dpdk-dev] [PATCH v2 12/12] examples/l2fwd: improvements to the " Anoob Joseph
2018-07-26 16:57 ` [dpdk-dev] [PATCH v2 00/12] preparing l2fwd for eventmode additions Thomas Monjalon
2018-08-01 6:59 ` Joseph, Anoob
2018-08-01 16:54 ` Stephen Hemminger [this message]
2018-08-01 17:26 ` Jerin Jacob
2018-08-02 8:19 ` Ananyev, Konstantin
2018-08-13 7:22 ` Joseph, Anoob
2018-08-13 9:27 ` Bruce Richardson
2018-08-13 15:59 ` Joseph, Anoob
2018-08-14 10:33 ` Bruce Richardson
2018-08-18 9:58 ` Joseph, Anoob
2018-10-29 2:22 ` Thomas Monjalon
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=20180801095414.7bc34b30@xeon-e3 \
--to=stephen@networkplumber.org \
--cc=Anoob.Joseph@caviumnetworks.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=hemant.agrawal@nxp.com \
--cc=jerin.jacob@caviumnetworks.com \
--cc=konstantin.ananyev@intel.com \
--cc=narayanaprasad.athreya@caviumnetworks.com \
--cc=nikhil.rao@intel.com \
--cc=pablo.de.lara.guarch@intel.com \
--cc=sunil.kori@nxp.com \
--cc=thomas@monjalon.net \
/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).