dm: add dm_num_hash_locks()
authorMike Snitzer <snitzer@kernel.org>
Mon, 27 Mar 2023 17:59:25 +0000 (13:59 -0400)
committerMike Snitzer <snitzer@kernel.org>
Thu, 30 Mar 2023 19:57:51 +0000 (15:57 -0400)
commit0bac3f2f28b87b520e50a196c42409485acfe5cf
tree9b284a765f4e18da335e78af8be01d87c61de3c3
parent3f8d3f5432078a558151e27230e20bcf93c23ffe
dm: add dm_num_hash_locks()

Simple helper to use when DM core code needs to appropriately size,
based on num_online_cpus(), its data structures that split locks.

dm_num_hash_locks() rounds up num_online_cpus() to next power of 2
but caps return at DM_HASH_LOCKS_MAX (64).

This heuristic may evolve as warranted, but as-is it will serve as a
more informed basis for sizing the sharded lock structs in dm-bufio's
dm_buffer_cache (buffer_trees) and dm-bio-prison-v1's dm_bio_prison
(prison_regions).

Signed-off-by: Mike Snitzer <snitzer@kernel.org>
drivers/md/dm.h