This patchset integrates RCU QSBR support with LPM library. Document is added with suggested design of integrating RCU library with other libraries in DPDK. As an example, LPM library adds the integration. As an option, RCU is used to safely free tbl8 groups that can be recycled. Table will not be reclaimed or reused until reader finished referencing it.
New API rte_lpm_rcu_qsbr_add is introduced for application to register a RCU variable that LPM library will use. This provides user the handle to enable RCU that integrated in LPM library. New API rte_ring_peek is introduced to help on management of reclaiming FIFO queue. Honnappa Nagarahalli (3): doc/rcu: add RCU integration design details test/lpm: reset total time test/lpm: add RCU integration performance tests Ruifeng Wang (3): lib/ring: add peek API lib/lpm: integrate RCU QSBR app/test: add test case for LPM RCU integration app/test/test_lpm.c | 153 +++++++++++++++- app/test/test_lpm_perf.c | 278 ++++++++++++++++++++++++++++- doc/guides/prog_guide/rcu_lib.rst | 52 ++++++ lib/librte_lpm/Makefile | 3 +- lib/librte_lpm/meson.build | 2 + lib/librte_lpm/rte_lpm.c | 223 +++++++++++++++++++++-- lib/librte_lpm/rte_lpm.h | 22 +++ lib/librte_lpm/rte_lpm_version.map | 6 + lib/librte_ring/rte_ring.h | 30 ++++ lib/meson.build | 3 +- 10 files changed, 751 insertions(+), 21 deletions(-) -- 2.17.1