I’m posting a V3 soon, so if anyone is planning to review, wait a bit more…
Jarno On Jul 31, 2014, at 9:17 AM, Jarno Rajahalme <[email protected]> wrote: > Our supported XenServer build environments lack proper atomic > libraries, which makes recent OVS techiques (ovs-rcu, cmap) painfully > slow. This series adds native atomic implementations for i586 and > x86_64 when compiled with GCC. This makes the atomic operations on > older GCC versions as fast as on newer versions. > > Jarno Rajahalme (7): > Fix strict aliasing violations with GCC 4.1 and 4.4. > lib/ovs-atomic: Elaborate memory_order documentation. > lib/ovs-atomic: Require memory_order be constant. > lib/ovs-atomic-gcc4+: Use 'volatile' to enforce memory access. > tests/test-atomic: Cover more of the atomic API. > lib/ovs-atomic: Native support for x86_64 with GCC. > lib/ovs-atomic: Native support for 32-bit 586 with GCC. > > lib/automake.mk | 2 + > lib/cmap.c | 18 +- > lib/ovs-atomic-gcc4+.h | 14 +- > lib/ovs-atomic-i586.h | 452 +++++++++++++++++++++++++++++++++++++++++ > lib/ovs-atomic-x86_64.h | 345 +++++++++++++++++++++++++++++++ > lib/ovs-atomic.h | 54 ++++- > lib/ovs-rcu.h | 57 ++++-- > ofproto/connmgr.c | 12 +- > ofproto/ofproto-dpif-sflow.c | 12 +- > ofproto/ofproto-dpif-upcall.c | 7 +- > tests/test-atomic.c | 291 +++++++++++++++++++++++++- > vswitchd/bridge.c | 11 +- > 12 files changed, 1221 insertions(+), 54 deletions(-) > create mode 100644 lib/ovs-atomic-i586.h > create mode 100644 lib/ovs-atomic-x86_64.h > > -- > 1.7.10.4 > _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
