summaryrefslogtreecommitdiffstats
path: root/lib/cpumask.c
diff options
context:
space:
mode:
authorThomas Graf <tgraf@suug.ch>2015-02-05 02:03:32 +0100
committerDavid S. Miller <davem@davemloft.net>2015-02-06 15:18:34 -0800
commita5ec68e3b8f2c95ea1a5d23dd543abbe0c8d0624 (patch)
treed9229fd3b7fd4b3321dded59e7bb4b8925e37cc9 /lib/cpumask.c
parentc88455ce50ae4224d84960ce2baa53e61580df27 (diff)
downloadop-kernel-dev-a5ec68e3b8f2c95ea1a5d23dd543abbe0c8d0624.zip
op-kernel-dev-a5ec68e3b8f2c95ea1a5d23dd543abbe0c8d0624.tar.gz
rhashtable: Use a single bucket lock for sibling buckets
rhashtable currently allows to use a bucket lock per bucket. This requires multiple levels of complicated nested locking because when resizing, a single bucket of the smaller table will map to two buckets in the larger table. So far rhashtable has explicitly locked both buckets in the larger table. By excluding the highest bit of the hash from the bucket lock map and thus only allowing locks to buckets in a ratio of 1:2, the locking can be simplified a lot without losing the benefits of multiple locks. Larger tables which benefit from multiple locks will not have a single lock per bucket anyway. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'lib/cpumask.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud