OSDN Git Service

io-wq: shrink io_wq_work a bit
authorJens Axboe <axboe@kernel.dk>
Tue, 26 Nov 2019 18:59:32 +0000 (11:59 -0700)
committerJens Axboe <axboe@kernel.dk>
Tue, 26 Nov 2019 22:02:56 +0000 (15:02 -0700)
commit6206f0e180d4eddc0a178f57120ab1b913701f6e
tree2b8867ea99fc8cfdf723e84b624417a966cd44cf
parent3fc50ab559f5ae400aa33bd0836b3602da7fa51b
io-wq: shrink io_wq_work a bit

Currently we're using 40 bytes for the io_wq_work structure, and 16 of
those is the doubly link list node. We don't need doubly linked lists,
we always add to tail to keep things ordered, and any other use case
is list traversal with deletion. For the deletion case, we can easily
support any node deletion by keeping track of the previous entry.

This shrinks io_wq_work to 32 bytes, and subsequently io_kiock from
io_uring to 216 to 208 bytes.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io-wq.c
fs/io-wq.h