> -----Original Message----- > From: Stephen Hemminger <step...@networkplumber.org> > Sent: Friday, August 23, 2019 09:23 > To: Ruifeng Wang (Arm Technology China) <ruifeng.w...@arm.com> > Cc: bruce.richard...@intel.com; vladimir.medved...@intel.com; > olivier.m...@6wind.com; dev@dpdk.org; Honnappa Nagarahalli > <honnappa.nagaraha...@arm.com>; Dharmik Thakkar > <dharmik.thak...@arm.com>; nd <n...@arm.com> > Subject: Re: [dpdk-dev] [RFC PATCH 3/3] lib/lpm: integrate RCU QSBR > > On Thu, 22 Aug 2019 14:34:57 +0800 > Ruifeng Wang <ruifeng.w...@arm.com> wrote: > > > Currently, the tbl8 group is freed even though the readers might be > > using the tbl8 group entries. The freed tbl8 group can be reallocated > > quickly. This results in incorrect lookup results. > > > > RCU QSBR process is integrated for safe tbl8 group reclaim. > > Refer to RCU documentation to understand various aspects of > > integrating RCU library into other libraries. > > > > Signed-off-by: Ruifeng Wang <ruifeng.w...@arm.com> > > Reviewed-by: Honnappa Nagarahalli <honnappa.nagaraha...@arm.com> > > Reviewed-by: Gavin Hu <gavin...@arm.com> > > Having RCU in LPM is a good idea but difficult to find out how to do it in > DPDK. > Not everyone wants to use RCU, so making a required part of how LPM is > used will impact users.
LPM users will not be imposed to use RCU. New API is provided to enable the RCU functionality in LPM library. For users not using RCU, code path is intact, and there will be no performance drop. > > Also, it looks like DPDK RCU lacks a good generic way to handle deferred free. > Having to introduce a ring to handle is adding more complexity when a > generic solution would be better (see userspace RCU library for example). > Other parts of DPDK would benefit if deferred free was done better. This requires support from RCU library. Needs Honnappa's comment.