diff options
author | Christoph Hellwig <hch@lst.de> | 2022-05-26 10:36:40 +0300 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2022-07-25 18:45:33 +0300 |
commit | d7b9416fe5c581c69e446b971c4a0394c609fd89 (patch) | |
tree | ea102c5c89b0a6541d1f561302e929803337affc /scripts/const_structs.checkpatch | |
parent | 08a6f464342cc09b14680dcefb3c5eeac8a06aeb (diff) | |
download | linux-d7b9416fe5c581c69e446b971c4a0394c609fd89.tar.xz |
btrfs: remove btrfs_end_io_wq
All reads bio that go through btrfs_map_bio need to be completed in
user context. And read I/Os are the most common and timing critical
in almost any file system workloads.
Embed a work_struct into struct btrfs_bio and use it to complete all
read bios submitted through btrfs_map, using the REQ_META flag to decide
which workqueue they are placed on.
This removes the need for a separate 128 byte allocation (typically
rounded up to 192 bytes by slab) for all reads with a size increase
of 24 bytes for struct btrfs_bio. Future patches will reorganize
struct btrfs_bio to make use of this extra space for writes as well.
(All sizes are based a on typical 64-bit non-debug build)
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'scripts/const_structs.checkpatch')
0 files changed, 0 insertions, 0 deletions