• Jens Axboe's avatar
    block: improve batched tag allocation · 349302da
    Jens Axboe authored
    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: default avatarJens Axboe <axboe@kernel.dk>
    349302da
blk-mq-tag.c 17 KB