Netlink sockets are maintained in a hash table to allow efficient lookup via the port ID for unicast messages. However, lookups currently require a read lock to be taken. This series adds a new generic, resizable, scalable, concurrent hash table based on the paper referenced in the first patch. It then makes use of the new data type to implement lockless netlink_lookup().
Against net-next since the initial user of the new hash table is in net/ Thomas Graf (2): lib: Resizable, Scalable, Concurrent Hash Table netlink: Convert netlink_lookup() to use RCU protected hash table include/linux/rhashtable.h | 208 ++++++++++++ lib/Kconfig.debug | 8 + lib/Makefile | 2 +- lib/rhashtable.c | 783 +++++++++++++++++++++++++++++++++++++++++++++ net/netlink/af_netlink.c | 285 +++++++---------- net/netlink/af_netlink.h | 18 +- net/netlink/diag.c | 11 +- 7 files changed, 1119 insertions(+), 196 deletions(-) create mode 100644 include/linux/rhashtable.h create mode 100644 lib/rhashtable.c -- 1.9.3 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev