mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
synced 2026-11-10 20:48:12 +00:00
Merge patch series "Remove b_end_io from struct buffer_head"
Matthew Wilcox (Oracle) <willy@infradead.org> says: There are four benefits to this patchset. First, it removes an indirect function call from the completion path. Instead of setting bio->bi_end_io to end_bio_bh_io_sync() which then calls bh->b_end_io(), we set bio->bi_end_io to the appropriate completion handler, replacing two indirect function calls with one. Second, there is a slight security advantage to this. It is one fewer function pointer in the middle of a writable data structure that can be corrupted. Third, it shrinks struct buffer_head from 104 bytes to 96 bytes, allowing for appropriximately 7% reduction in the amount of memory used by buffer_heads (or, alternatively, allows 7% more buffer_heads to be cached in the same amount of memory). Fourth, it removes some atomic operations as the buffer refcount is no longer incremented before calling the end_io handler. I've run ext4 through its paces, and everything seems OK. I've only compiled ocfs2/gfs2/nilfs/md-bitmap. Hopefully the maintainers can give this series a try. I'm sending the entire series to linux-fsdevel and cc'ing the fs-specific mailing lists for the fs-specific patches. * patches from https://patch.msgid.link/20260528173150.1093780-1-willy@infradead.org: (34 commits) buffer: Remove end_buffer_write_sync() buffer: Change calling convention for end_buffer_read_sync() buffer: Remove b_end_io buffer: Remove submit_bh() md-bitmap: Convert read_file_page and write_file_page to bh_submit() nilfs2: Convert nilfs_mdt_submit_block to bh_submit() nilfs2: Convert nilfs_gccache_submit_read_data to bh_submit() nilfs2: Convert nilfs_btnode_submit_block to bh_submit() buffer: Remove mark_buffer_async_write() gfs2: Convert gfs2_aspace_write_folio to bh_submit() gfs2: Remove use of b_end_io in gfs2_meta_read_endio() gfs2: Convert gfs2_dir_readahead to bh_submit() gfs2: Convert gfs2_metapath_ra to bh_submit() ocfs2: Convert ocfs2_write_super_or_backup to bh_submit() ocfs2: Convert ocfs2_read_blocks to bh_submit() ocfs2: Convert ocfs2_read_block to bh_submit() ocfs2: Convert ocfs2_write_block to bh_submit() jbd2: Convert jbd2_write_superblock() to bh_submit() jbd2: Convert journal commit to bh_submit() ext4: Convert ext4_commit_super() to bh_submit() ... Link: https://patch.msgid.link/20260528173150.1093780-1-willy@infradead.org Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
commit
f0d857543e
21 changed files with 288 additions and 296 deletions
391
fs/buffer.c
391
fs/buffer.c
Loading…
Add table
Add a link
Reference in a new issue