DPDK-dev Archive on lore.kernel.org
 help / color / Atom feed
From: Anoob Joseph <anoobj@marvell.com>
To: Thomas Monjalon <thomas@monjalon.net>,
	Bruce Richardson <bruce.richardson@intel.com>
Cc: "Jerin Jacob Kollanukkaran" <jerinj@marvell.com>,
	"dev@dpdk.org" <dev@dpdk.org>,
	"Mattias Rönnblom" <mattias.ronnblom@ericsson.com>,
	"Nikhil Rao" <nikhil.rao@intel.com>,
	"Erik Gabriel Carrillo" <erik.g.carrillo@intel.com>,
	"Abhinandan Gujjar" <abhinandan.gujjar@intel.com>,
	"Pablo de Lara" <pablo.de.lara.guarch@intel.com>,
	"Narayana Prasad Raju Athreya" <pathreya@marvell.com>,
	"Lukas Bartosik" <lbartosik@marvell.com>,
	"Pavan Nikhilesh Bhagavatula" <pbhagavatula@marvell.com>,
	"Hemant Agrawal" <hemant.agrawal@nxp.com>,
	"Nipun Gupta" <nipun.gupta@nxp.com>,
	"Harry van Haaren" <harry.van.haaren@intel.com>,
	"Liang Ma" <liang.j.ma@intel.com>,
	"techboard@dpdk.org" <techboard@dpdk.org>
Subject: Re: [dpdk-dev] [EXT] Re: [PATCH 00/39] adding eventmode helper library
Date: Tue, 2 Jul 2019 16:18:01 +0000
Message-ID: <MN2PR18MB2877BC9EF8D9004EBE6102C6DFF80@MN2PR18MB2877.namprd18.prod.outlook.com> (raw)
In-Reply-To: <3848960.f2llPjXIeu@xps>

Hi Thomas, Bruce,

> For what exactly is being proposed, is there a short version of the suggested approach and the logic behind it?
> I think eventdev should be simple to use and could be added to any example like
> l2fwd. The idea of forking an example, where we should be able to have an
> unified API, is a proof of failure.

As Mattias had mentioned earlier, eventdev is complicated because of a reason. It exposes lot of configuration which can be used to dynamically load-balance real world traffic. With various adapters like, Rx adapter, Tx adapter, crypto adapter etc getting implemented, applications can better utilize capabilities of event device. But all the existing example applications in DPDK is designed around mbufs and polling of cores on various devices. If an application has to fully leverage capabilities of an event device, it has to setup all these adapters and devices. And, as Mattias had mentioned, this involves lot of configuration. This configuration would be repeated for every application which would need to run in eventmode. Eventmode helper abstracts this. For an existing application to be moved to eventmode, all it would take is couple of function calls and fine-tuned worker thread.

Just to remind, this is the 3rd iteration of submitting patches. The first set of patches were submitted by Sunil Kori from NXP and that involved additions in l3fwd application. It involved addition of lot of code, and Bruce wanted to make the additions common. Jerin suggested to add these in event dev library.

The second iteration involved additions in l2fwd and introduced eventmode in eventdev library. Then it was up for discussions again and it was decided that for l2fwd, a new application for eventmode would be drafted, but for l3fwd & ipsec-secgw, the original application would get additions. L2fwd-event will be used to finalize the event-mode library before extending to other applications.

Now this is the third iteration.

> About the helper, I see some command line processing and other things which have nothing to do in a library.
> Actually I fail to understand the global idea of this helper.
> There is no description of what this helper is, and even no name for it.

All the eventmode configuration need to be user defined. So either every application would need the code duplicated (how the code for lcore-port-queue conf required for eth devs is repeated in every app) or be kept common. Again, that can be kept as a separate header and can be copied around. I don't see any issue, if you are fine with it.

The idea of this helper is to allow applications to run in "eventmode". Hence the name, eventmode_helper. 

> About the copy of the example itself, you are copying it as first patch of this
> series and then do improvements only to the copy, leaving the original behind.

My original proposal (additions to l2fwd) was fixing quite a lot of things in the original app. Bruce was hesitant about the changes and suggested improvements only in the new app. I can add improvements in l2fwd also, if that's what you suggest. IMO, keeping both apps similar would be better for maintenance of l2fwd-event also. So, please suggest the approach.

> So my suggestion is to do your PoC in a standalone example, improving the
> original example at the same time, and try to improve the eventdev library if
> possible. Then we should not propagate this design to more examples until we
> have a proof that it is a progress.

That is the proposal right now. L2fwd-event would be the standalone example. If code duplication is not a concern, I'll move the eventmode helper files to l2fwd-event directory. Then we can continue working on adding the features there before moving onto other examples.

Please conclude deciding the approach to be taken.

Thanks,
Anoob

> -----Original Message-----
> From: Thomas Monjalon <thomas@monjalon.net>
> Sent: Tuesday, July 2, 2019 8:27 PM
> To: Anoob Joseph <anoobj@marvell.com>
> Cc: Jerin Jacob Kollanukkaran <jerinj@marvell.com>; dev@dpdk.org; Mattias
> Rönnblom <mattias.ronnblom@ericsson.com>; Nikhil Rao
> <nikhil.rao@intel.com>; Erik Gabriel Carrillo <erik.g.carrillo@intel.com>;
> Abhinandan Gujjar <abhinandan.gujjar@intel.com>; Bruce Richardson
> <bruce.richardson@intel.com>; Pablo de Lara
> <pablo.de.lara.guarch@intel.com>; Narayana Prasad Raju Athreya
> <pathreya@marvell.com>; Lukas Bartosik <lbartosik@marvell.com>; Pavan
> Nikhilesh Bhagavatula <pbhagavatula@marvell.com>; Hemant Agrawal
> <hemant.agrawal@nxp.com>; Nipun Gupta <nipun.gupta@nxp.com>; Harry van
> Haaren <harry.van.haaren@intel.com>; Liang Ma <liang.j.ma@intel.com>;
> techboard@dpdk.org
> Subject: Re: [dpdk-dev] [EXT] Re: [PATCH 00/39] adding eventmode helper
> library
> 
> 02/07/2019 16:26, Jerin Jacob Kollanukkaran:
> > From: Anoob Joseph
> > > Hi Thomas, Jerin,
> > >
> > > Is there any consensus on how we should proceed? Can this be taken
> > > up by techboard?
> 
> OK, let me give my detailed opinion.
> Summary: I don't like this situation at all.
> 
> I think eventdev should be simple to use and could be added to any example like
> l2fwd. The idea of forking an example, where we should be able to have an
> unified API, is a proof of failure.
> 
> About the copy of the example itself, you are copying it as first patch of this
> series and then do improvements only to the copy, leaving the original behind.
> 
> About the helper, I see some command line processing and other things which
> have nothing to do in a library.
> Actually I fail to understand the global idea of this helper.
> There is no description of what this helper is, and even no name for it.
> 
> > For me it make sense to  move these helper functions to examples/..
> > and make it as standalone(not as library) Suggested directory(In the
> > order of my preference). No strong preference on the directory name
> > though
> > 1) examples/helper  or
> > 2) examples/common or
> > 3) examples/utils
> 
> If we are not able to give it a better name than "helper" or "utils", it is like
> moving it in a trash folder.
> 
> And last but not least, there is not a lot of reaction to this series.
> 
> So my suggestion is to do your PoC in a standalone example, improving the
> original example at the same time, and try to improve the eventdev library if
> possible. Then we should not propagate this design to more examples until we
> have a proof that it is a progress.
> 


  reply index

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-25 10:33 [dpdk-dev] " Jerin Jacob Kollanukkaran
2019-06-27  5:28 ` Anoob Joseph
2019-06-28  3:37   ` Jerin Jacob Kollanukkaran
2019-06-28  8:02     ` Mattias Rönnblom
2019-06-28  8:40     ` Thomas Monjalon
2019-06-28  9:07       ` Mattias Rönnblom
2019-06-28 11:34       ` [dpdk-dev] [EXT] " Anoob Joseph
2019-07-02 14:17         ` Anoob Joseph
2019-07-02 14:26           ` Jerin Jacob Kollanukkaran
2019-07-02 14:49             ` Bruce Richardson
2019-07-02 14:57             ` Thomas Monjalon
2019-07-02 16:18               ` Anoob Joseph [this message]
2019-07-02 17:38                 ` Mattias Rönnblom
2019-07-03  1:35                   ` Anoob Joseph
2019-07-03  8:51                     ` Thomas Monjalon
2019-07-03  9:37                       ` Anoob Joseph
2019-07-03 16:30                         ` Thomas Monjalon
2019-07-04  3:34                           ` Anoob Joseph
  -- strict thread matches above, loose matches on Subject: below --
2019-06-03 17:32 [dpdk-dev] " Anoob Joseph
2019-06-07  9:48 ` Jerin Jacob Kollanukkaran
2019-06-11 10:44   ` Mattias Rönnblom
2019-06-14  9:18     ` [dpdk-dev] [EXT] " Anoob Joseph
2019-06-17 13:23       ` Mattias Rönnblom
2019-06-20  3:44         ` Anoob Joseph

Reply instructions:

You may reply publically 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=MN2PR18MB2877BC9EF8D9004EBE6102C6DFF80@MN2PR18MB2877.namprd18.prod.outlook.com \
    --to=anoobj@marvell.com \
    --cc=abhinandan.gujjar@intel.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=erik.g.carrillo@intel.com \
    --cc=harry.van.haaren@intel.com \
    --cc=hemant.agrawal@nxp.com \
    --cc=jerinj@marvell.com \
    --cc=lbartosik@marvell.com \
    --cc=liang.j.ma@intel.com \
    --cc=mattias.ronnblom@ericsson.com \
    --cc=nikhil.rao@intel.com \
    --cc=nipun.gupta@nxp.com \
    --cc=pablo.de.lara.guarch@intel.com \
    --cc=pathreya@marvell.com \
    --cc=pbhagavatula@marvell.com \
    --cc=techboard@dpdk.org \
    --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

DPDK-dev Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/dpdk-dev/0 dpdk-dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dpdk-dev dpdk-dev/ https://lore.kernel.org/dpdk-dev \
		dev@dpdk.org dpdk-dev@archiver.kernel.org
	public-inbox-index dpdk-dev


Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/ public-inbox