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] -=-=-=-=-=-=-=-=-=-=-=-