Message ID | 20230921075755.1378787-1-max.kellermann@ionos.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/4] pipe: reduce padding in struct pipe_inode_info | expand |
On Thu, 21 Sep 2023 09:57:52 +0200, Max Kellermann wrote: > This has no effect on 64 bit because there are 10 32-bit integers > surrounding the two bools, but on 32 bit architectures, this reduces > the struct size by 4 bytes by merging the two bools into one word. > > I've massaged the last commit a bit and moved that bit into a helper instead of indentorama in pipe_write(). keyutils watchqueue tests and LTP pipe and watch queue tests pass without regressions. --- Applied to the vfs.misc branch of the vfs/vfs.git tree. Patches in the vfs.misc branch should appear in linux-next soon. Please report any outstanding bugs that were missed during review in a new review to the original patch series allowing us to drop it. It's encouraged to provide Acked-bys and Reviewed-bys even though the patch has now been applied. If possible patch trailers will be updated. Note that commit hashes shown below are subject to change due to rebase, trailer updates or similar. If in doubt, please check the listed branch. tree: https://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs.git branch: vfs.misc [1/4] pipe: reduce padding in struct pipe_inode_info https://git.kernel.org/vfs/vfs/c/5ba6d9b6d526 [2/4] fs/pipe: move check to pipe_has_watch_queue() https://git.kernel.org/vfs/vfs/c/7084dde72592 [3/4] fs/pipe: remove unnecessary spinlock from pipe_write() https://git.kernel.org/vfs/vfs/c/b9e8c77cad52 [4/4] fs/pipe: use spinlock in pipe_read() only if there is a watch_queue https://git.kernel.org/vfs/vfs/c/4c280825d39c
diff --git a/include/linux/pipe_fs_i.h b/include/linux/pipe_fs_i.h index 608a9eb86bff..598a411d7da2 100644 --- a/include/linux/pipe_fs_i.h +++ b/include/linux/pipe_fs_i.h @@ -62,9 +62,6 @@ struct pipe_inode_info { unsigned int tail; unsigned int max_usage; unsigned int ring_size; -#ifdef CONFIG_WATCH_QUEUE - bool note_loss; -#endif unsigned int nr_accounted; unsigned int readers; unsigned int writers; @@ -72,6 +69,9 @@ struct pipe_inode_info { unsigned int r_counter; unsigned int w_counter; bool poll_usage; +#ifdef CONFIG_WATCH_QUEUE + bool note_loss; +#endif struct page *tmp_page; struct fasync_struct *fasync_readers; struct fasync_struct *fasync_writers;
This has no effect on 64 bit because there are 10 32-bit integers surrounding the two bools, but on 32 bit architectures, this reduces the struct size by 4 bytes by merging the two bools into one word. Signed-off-by: Max Kellermann <max.kellermann@ionos.com> --- include/linux/pipe_fs_i.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)