[v3,0/3] Add RCU reclamation APIs

Message ID 20191001062917.35578-1-honnappa.nagarahalli@arm.com
Headers show
Series
  • Add RCU reclamation APIs
Related show

Message

Honnappa Nagarahalli Oct. 1, 2019, 6:29 a.m.
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

Comments

Thomas Monjalon March 29, 2020, 8:57 p.m. | #1
01/10/2019 08:29, Honnappa Nagarahalli:
> 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.


It is in the roadmap for 20.05.
What is the status of this patchset?

> The patches to LPM and HASH libraries to integrate RCU will depend on

> this patch.


I guess lpm and hash integrations are planned for 20.08?
Honnappa Nagarahalli March 30, 2020, 5:37 p.m. | #2
<snip>

> 

> 01/10/2019 08:29, Honnappa Nagarahalli:

> > 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.

> 

> It is in the roadmap for 20.05.

> What is the status of this patchset?

It has a dependency on changes to rte_ring APIs, which have a clash from Konstantin's [1] and my patch [2]. Konstantin is working through his patch to address comments.

I am currently incorporating the review comments I received on the RCU defer APIs. We should see the next version soon.

[1] http://mails.dpdk.org/archives/dev/2020-March/160828.html
[2] http://mails.dpdk.org/archives/dev/2020-March/160787.html

> 

> > The patches to LPM and HASH libraries to integrate RCU will depend on

> > this patch.

> 

> I guess lpm and hash integrations are planned for 20.08?

Yes, this is pushed to 20.08.

>