OSDN Git Service

bio: add pcpu caching for non-polling bio_put
authorPavel Begunkov <asml.silence@gmail.com>
Wed, 2 Nov 2022 15:18:22 +0000 (15:18 +0000)
committerJens Axboe <axboe@kernel.dk>
Wed, 16 Nov 2022 16:44:26 +0000 (09:44 -0700)
commitb99182c501c3dedeba4c9e6c92a60df1a2fee119
treeb2ef978e4ea4f3e7ea0ea551b5343afb95fc655d
parentf25cf75a452150c243f74ab1f1836822137d5d2c
bio: add pcpu caching for non-polling bio_put

This patch extends REQ_ALLOC_CACHE to IRQ completions, whenever
currently it's only limited to iopoll. Instead of guarding the list with
irq toggling on alloc, which is expensive, it keeps an additional
irq-safe list from which bios are spliced in batches to ammortise
overhead. On the put side it toggles irqs, but in many cases they're
already disabled and so cheap.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/c2306de96b900ab9264f4428ec37768ddcf0da36.1667384020.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/bio.c