bio: add allocation cache abstraction
authorJens Axboe <axboe@kernel.dk>
Mon, 8 Mar 2021 18:37:47 +0000 (11:37 -0700)
committerJens Axboe <axboe@kernel.dk>
Thu, 12 Aug 2021 17:27:01 +0000 (11:27 -0600)
commit1cbbd31c4ada4dfab9619ef4d46d66b484b6de37
tree7ff3695364c8eb8f0ae7787e988986119c279bec
parent16d9db5b2c502ea70a97180418fc54d2f5c17d88
bio: add allocation cache abstraction

Add a per-cpu bio_set cache for bio allocations, enabling us to quickly
recycle them instead of going through the slab allocator. This cache
isn't IRQ safe, and hence is only really suitable for polled IO.

Very simple - keeps a count of bio's in the cache, and maintains a max
of 512 with a slack of 64. If we get above max + slack, we drop slack
number of bio's.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/bio.c
include/linux/bio.h
include/linux/blk_types.h
include/linux/cpuhotplug.h