Is it possible to do Read Copy Update with VPP? Either using Userspace RCU 
(https://librcu.org)
or manually. RCU is very efficient way to handle read mostly tables and other 
dynamic cases
such as plugins.

The several things that are needed are non-preempt, atomic update of a pointer 
and a mechanism to be sure
all active threads have gone through a quiescent period. I don't think VPP will 
preempt one node
for another so that is done. The atomic update is relatively
easy with basic barriers, either from FD.IO, DPDK, or native compiler 
operations. But
is there an API to have a quiescent period marker in the main VPP vector 
scheduler?

Something like the QSBR model of Userspace RCU library.
(each thread calls rcu_queiscent_state() periodically)
would be ideal.

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#11023): https://lists.fd.io/g/vpp-dev/message/11023
Mute This Topic: https://lists.fd.io/mt/27785182/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to