Messages in this thread | | | From | Thomas Graf <> | Subject | [PATCH 0/2 net-next] Lockless netlink_lookup() with new concurrent hash table | Date | Tue, 29 Jul 2014 13:41:31 +0200 |
| |
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
| |