commit | 349302da83529539040d2516de1deec1e09f491c | [log] [tgz] |
---|---|---|
author | Jens Axboe <axboe@kernel.dk> | Sat Oct 09 13:10:39 2021 -0600 |
committer | Jens Axboe <axboe@kernel.dk> | Mon Oct 18 06:17:35 2021 -0600 |
tree | 3d8049f24e9c7f2c32ef7ae88322d6828d50af59 | |
parent | 9672b0d43782047b1825a96bafee1b6aefa35bc2 [diff] |
block: improve batched tag allocation Add a blk_mq_get_tags() helper, which uses the new sbitmap API for allocating a batch of tags all at once. This both simplifies the block code for batched allocation, and it is also more efficient than just doing repeated calls into __sbitmap_queue_get(). This reduces the sbitmap overhead in peak runs from ~3% to ~1% and yields a performanc increase from 6.6M IOPS to 6.8M IOPS for a single CPU core. Signed-off-by: Jens Axboe <axboe@kernel.dk>