This is not a new patch. This patch set is separated from the LPM changes as the size of the changes in RCU library has grown due to comments from community. These APIs will help reduce the changes in LPM and hash libraries that are getting integrated with RCU library.
This adds 4 new APIs to RCU library to create a defer queue, enqueue deleted resources, reclaim resources and delete the defer queue. The rationale for the APIs is documented in 3/3. The patches to LPM and HASH libraries to integrate RCU will depend on this patch. v3 1) Separated from the original series (https://patches.dpdk.org/cover/58811/) 2) Added reclamation APIs and test cases (Stephen, Yipeng) Honnappa Nagarahalli (1): lib/rcu: add resource reclamation APIs Ruifeng Wang (2): lib/ring: add peek API doc/rcu: add RCU integration design details app/test/test_rcu_qsbr.c | 291 ++++++++++++++++++++++++++++- doc/guides/prog_guide/rcu_lib.rst | 59 ++++++ lib/librte_rcu/meson.build | 2 + lib/librte_rcu/rte_rcu_qsbr.c | 185 ++++++++++++++++++ lib/librte_rcu/rte_rcu_qsbr.h | 169 +++++++++++++++++ lib/librte_rcu/rte_rcu_qsbr_pvt.h | 46 +++++ lib/librte_rcu/rte_rcu_version.map | 4 + lib/librte_ring/rte_ring.h | 30 +++ lib/meson.build | 6 +- 9 files changed, 789 insertions(+), 3 deletions(-) create mode 100644 lib/librte_rcu/rte_rcu_qsbr_pvt.h -- 2.17.1