The userspace classifier mutexes are highly contended during flow translation, wasting a lot of CPU time. This patch series experiments with adding a little bit of RCU support to userspace. It doesn't actually protect the classifiers with RCU, because that's a lot of work. Instead it protects rule_actions, which is probably not as highly contended, but I'm still curious to see whether it makes any performance difference. I'll probably have to extend the series to RCU-protect the classifier to get real results.
Before this could be applied to master, it would need to be reworked to make RCU support optional and to add RCU annotations for Clang and sparse. Ben Pfaff (2): Add a little bit of RCU infrastructure. ofproto: Protect rule_actions with RCU. configure.ac | 1 + lib/ovs-thread.c | 16 +++++++- lib/timeval.c | 13 +++++++ m4/openvswitch.m4 | 16 ++++++++ ofproto/connmgr.c | 1 + ofproto/ofproto-dpif-upcall.c | 7 ++++ ofproto/ofproto-dpif-xlate.c | 9 ++++- ofproto/ofproto-dpif.c | 7 +++- ofproto/ofproto-provider.h | 14 +++---- ofproto/ofproto.c | 81 +++++++++++++++-------------------------- 10 files changed, 100 insertions(+), 65 deletions(-) -- 1.7.10.4 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev