[PATCH 0/2 net-next] Lockless netlink_lookup() with new concurrent hash table

From: Thomas Graf
Date: Tue Jul 29 2014 - 07:41:47 EST


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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/