diff options
author | Kemeng Shi <shikemeng@huaweicloud.com> | 2023-01-16 23:50:58 +0300 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2023-01-30 06:03:01 +0300 |
commit | 678418c6128f112fc5584beb5cdd21fbc225badf (patch) | |
tree | e9ab08713201ea7730a2bdac797b3eb4b16dc786 /CREDITS | |
parent | 08470a98a7d7e32c787b23b87353f13b03c23195 (diff) | |
download | linux-678418c6128f112fc5584beb5cdd21fbc225badf.tar.xz |
sbitmap: add sbitmap_find_bit to remove repeat code in __sbitmap_get/__sbitmap_get_shallow
There are three differences between __sbitmap_get and
__sbitmap_get_shallow when searching free bit:
1. __sbitmap_get_shallow limit number of bit to search per word.
__sbitmap_get has no such limit.
2. __sbitmap_get_shallow always searches with wrap set. __sbitmap_get set
wrap according to round_robin.
3. __sbitmap_get_shallow always searches from first bit in first word.
__sbitmap_get searches from first bit when round_robin is not set
otherwise searches from SB_NR_TO_BIT(sb, alloc_hint).
Add helper function sbitmap_find_bit function to do common search while
accept "limit depth per word", "wrap flag" and "first bit to
search" from caller to support the need of both __sbitmap_get and
__sbitmap_get_shallow.
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Kemeng Shi <shikemeng@huaweicloud.com>
Link: https://lore.kernel.org/r/20230116205059.3821738-5-shikemeng@huaweicloud.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'CREDITS')
0 files changed, 0 insertions, 0 deletions