> -----Original Message----- > From: Ananyev, Konstantin <konstantin.anan...@intel.com> > Sent: Tuesday, September 10, 2019 17:06 > To: Ruifeng Wang (Arm Technology China) <ruifeng.w...@arm.com>; > Kantecki, Tomasz <tomasz.kante...@intel.com> > Cc: dev@dpdk.org; Gavin Hu (Arm Technology China) <gavin...@arm.com>; > Honnappa Nagarahalli <honnappa.nagaraha...@arm.com>; nd > <n...@arm.com>; nd <n...@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