summaryrefslogtreecommitdiff
path: root/fs/ext4/verity.c
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2022-03-24 19:17:44 +0300
committerJens Axboe <axboe@kernel.dk>2022-03-25 02:09:26 +0300
commit34d2bfe7d4b65b375d0edf704133a6b6970f9d81 (patch)
treef1386961219cc5fdae8697f05aac801b7ae95e47 /fs/ext4/verity.c
parenta73825ba70c93e1eb39a845bb3d9885a787f8ffe (diff)
downloadlinux-34d2bfe7d4b65b375d0edf704133a6b6970f9d81.tar.xz
io_uring: improve task work cache utilization
While profiling task_work intensive workloads, I noticed that most of the time in tctx_task_work() is spending stalled on loading 'req'. This is one of the unfortunate side effects of using linked lists, particularly when they end up being passe around. Prefetch the next request, if there is one. There's a sufficient amount of work in between that this makes it available for the next loop. While fiddling with the cache layout, move the link outside of the hot completion cacheline. It's rarely used in hot workloads, so better to bring in kbuf which is used for networked loads with provided buffers. This reduces tctx_task_work() overhead from ~3% to 1-1.5% in my testing. Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'fs/ext4/verity.c')
0 files changed, 0 insertions, 0 deletions