summaryrefslogtreecommitdiff
path: root/lib/klist.c
diff options
context:
space:
mode:
authorDaniel Borkmann <daniel@iogearbox.net>2015-03-12 15:28:40 +0100
committerDavid S. Miller <davem@davemloft.net>2015-03-12 23:02:30 -0400
commita5b6846f9e1a080493210013385c28faecee36f0 (patch)
tree6b068157f7e2efb5d71978d3a63d14754bcd6a7c /lib/klist.c
parent9497df88ab5567daa001829051c5f87161a81ff0 (diff)
rhashtable: kill ht->shift atomic operations
Commit c0c09bfdc415 ("rhashtable: avoid unnecessary wakeup for worker queue") changed ht->shift to be atomic, which is actually unnecessary. Instead of leaving the current shift in the core rhashtable structure, it can be cached inside the individual bucket tables. There, it will only be initialized once during a new table allocation in the shrink/expansion slow path, and from then onward it stays immutable for the rest of the bucket table liftime. That allows shift to be non-atomic. The patch also moves hash_rnd management into the table setup. The rhashtable structure now consumes 3 instead of 4 cachelines. Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Cc: Ying Xue <ying.xue@windriver.com> Acked-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'lib/klist.c')
0 files changed, 0 insertions, 0 deletions