From: "Ruifeng Wang (Arm Technology China)" <Ruifeng.Wang@arm.com>
To: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>,
"Kantecki, Tomasz" <tomasz.kantecki@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
"Gavin Hu (Arm Technology China)" <Gavin.Hu@arm.com>,
Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>,
nd <nd@arm.com>, nd <nd@arm.com>, nd <nd@arm.com>
Subject: Re: [dpdk-dev] [PATCH 0/2] add lock-free mode for l3fwd
Date: Tue, 10 Sep 2019 09:56:33 +0000 [thread overview]
Message-ID: <AM0PR08MB39869C3A81B1E47B967FA0E89EB60@AM0PR08MB3986.eurprd08.prod.outlook.com> (raw)
In-Reply-To: <2601191342CEEE43887BDE71AB977258019196218E@irsmsx105.ger.corp.intel.com>
> -----Original Message-----
> From: Ananyev, Konstantin <konstantin.ananyev@intel.com>
> Sent: Tuesday, September 10, 2019 17:06
> To: Ruifeng Wang (Arm Technology China) <Ruifeng.Wang@arm.com>;
> Kantecki, Tomasz <tomasz.kantecki@intel.com>
> Cc: dev@dpdk.org; Gavin Hu (Arm Technology China) <Gavin.Hu@arm.com>;
> Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>; nd
> <nd@arm.com>; nd <nd@arm.com>
> Subject: RE: [dpdk-dev] [PATCH 0/2] add lock-free mode for l3fwd
>
>
>
> > >
> > > >
> > > > Lock-free mode is supported by hash library and LPM library.
> > > > Now we add an option for l3fwd example to enable the lock-free mode.
> > > > Necessary preparation steps are added to use lock-free LPM mode.
> > >
> > > Can I ask about the purpose of these changes?
> > > Right now in l3fwd both lpm and hash tables are static and hard-coded.
> > > we initialize them at startup and then just do read from them.
> > > Do you plan to enhance l3fwd with ability to dynamically update
> > > tables contents?
> > > Though fir that we first have to get rid of hard-coded values (config file or
> so).
> > > Konstantin
> > >
> > Thanks for your questions.
> > Currently, we have no plan to enhance l3fwd with ability to dynamically
> update table contents.
> > Lock-free method is being integrated into Hash library and LPM
> > library. Lock-free algorithms are not only about control plane
> > (adding or deleting routes), they affect the data path performance as well.
> > Since l3fwd application is showcasing data path performance, we need
> > to show the impact of including the quiescent state reporting on data path.
> > This change also serves as an example of using the RCU APIs.
>
>
> But what you suggest doesn't provide the complete picture.
> With dynamic updates in place (via control path) the data-path impact might
> be completely different then without.
> Again without dynamic updates how can you test that your data-path lock-
> free approach does work as expected?
> Also it can't even be used as a reference implementation for users, as half of
> the functionality they need to implement is simply missing.
> My opinion - we either need to leave l3fwd as it is (static routes), or
> implement a proper control path with ability to dynamically update routes
> before starting to introduce some synchronization schemes (RCU or
> whatever).
>
> Konstantin
>
Agree that dynamic control path updates should be included for a whole picture.
I will add dynamic update to l3fwd and reroll the patch series.
Thanks.
> >
> > > >
> > > > Patch 2/2 has dependency on RCU QSBR integration with LPM library:
> > > > http://patches.dpdk.org/project/dpdk/list/?series=6288
> > > >
> > > >
> > > > Ruifeng Wang (2):
> > > > examples/l3fwd: add lock-free option for l3fwd
> > > > examples/l3fwd: integrate RCU QSBR for LPM mode
> > > >
> > > > doc/guides/sample_app_ug/l3_forward.rst | 3 ++
> > > > examples/l3fwd/Makefile | 1 +
> > > > examples/l3fwd/l3fwd.h | 4 +-
> > > > examples/l3fwd/l3fwd_em.c | 10 +++-
> > > > examples/l3fwd/l3fwd_lpm.c | 72
> +++++++++++++++++++++++--
> > > > examples/l3fwd/main.c | 27 ++++++++--
> > > > examples/l3fwd/meson.build | 1 +
> > > > 7 files changed, 108 insertions(+), 10 deletions(-)
> > > >
> > > > --
> > > > 2.17.1
next prev parent reply other threads:[~2019-09-10 9:56 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-06 10:26 Ruifeng Wang
2019-09-06 10:26 ` [dpdk-dev] [PATCH 1/2] examples/l3fwd: add lock-free option " Ruifeng Wang
2019-09-06 10:26 ` [dpdk-dev] [PATCH 2/2] examples/l3fwd: integrate RCU QSBR for LPM mode Ruifeng Wang
2019-09-06 10:35 ` [dpdk-dev] [PATCH 0/2] add lock-free mode for l3fwd Ananyev, Konstantin
2019-09-09 1:52 ` Ruifeng Wang (Arm Technology China)
2019-09-09 22:45 ` Honnappa Nagarahalli
2019-09-10 6:25 ` Ruifeng Wang (Arm Technology China)
2019-09-11 5:32 ` Honnappa Nagarahalli
2019-09-11 6:18 ` Ruifeng Wang (Arm Technology China)
2019-09-10 9:06 ` Ananyev, Konstantin
2019-09-10 9:56 ` Ruifeng Wang (Arm Technology China) [this message]
2019-09-11 5:38 ` Honnappa Nagarahalli
2019-09-11 6:58 ` Ruifeng Wang (Arm Technology China)
2019-09-11 8:35 ` Ananyev, Konstantin
2019-09-16 2:30 ` Ruifeng Wang (Arm Technology China)
2019-11-06 14:03 ` David Marchand
2019-11-11 5:19 ` Ruifeng Wang (Arm Technology China)
2019-09-06 17:28 ` Stephen Hemminger
2019-09-09 2:38 ` Ruifeng Wang (Arm Technology China)
2019-09-10 16:27 ` Honnappa Nagarahalli
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=AM0PR08MB39869C3A81B1E47B967FA0E89EB60@AM0PR08MB3986.eurprd08.prod.outlook.com \
--to=ruifeng.wang@arm.com \
--cc=Gavin.Hu@arm.com \
--cc=Honnappa.Nagarahalli@arm.com \
--cc=dev@dpdk.org \
--cc=konstantin.ananyev@intel.com \
--cc=nd@arm.com \
--cc=tomasz.kantecki@intel.com \
/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).