linux/include
Jens Axboe 9672b0d437 sbitmap: add __sbitmap_queue_get_batch()
The block layer tag allocation batching still calls into sbitmap to get
each tag, but we can improve on that. Add __sbitmap_queue_get_batch(),
which returns a mask of tags all at once, along with an offset for
those tags.

An example return would be 0xff, where bits 0..7 are set, with
tag_offset == 128. The valid tags in this case would be 128..135.

A batch is specific to an individual sbitmap_map, hence it cannot be
larger than that. The requested number of tags is automatically reduced
to the max that can be satisfied with a single map.

On failure, 0 is returned. Caller should fall back to single tag
allocation at that point/

Signed-off-by: Jens Axboe <axboe@kernel.dk>
2021-10-18 06:17:35 -06:00
..
acpi
asm-generic
clocksource
crypto
drm
dt-bindings
keys
kunit
kvm
linux sbitmap: add __sbitmap_queue_get_batch() 2021-10-18 06:17:35 -06:00
math-emu
media
memory
misc
net
pcmcia
ras
rdma
scsi block: move struct request to blk-mq.h 2021-10-18 06:17:02 -06:00
soc
sound
target
trace block-5.15-2021-10-17 2021-10-17 19:25:20 -10:00
uapi Char/Misc driver fixes for 5.15-rc6 2021-10-17 17:14:00 -10:00
vdso
video
xen