[dpdk-dev] [PATCH 0/2] add lock-free mode for l3fwd
Honnappa Nagarahalli
Honnappa.Nagarahalli at arm.com
Tue Sep 10 00:45:12 CEST 2019
<snip>
> >
> > Hi,
> >
> > >
> > > 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.
>
Without the dynamic deletes the quiescent state reporting overhead is not captured completely.
I suggest that we add and delete a small set of unrelated routes (the routes that are not used currently) on a regular basis.
> > >
> > > 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
>
More information about the dev
mailing list