mbox series

[RFC,v2,0/6] inode: turn i_state into u32

Message ID 20240821-work-i_state-v2-0-67244769f102@kernel.org (mailing list archive)
Headers show
Series inode: turn i_state into u32 | expand

Message

Christian Brauner Aug. 21, 2024, 3:47 p.m. UTC
Hey,

So first time I managed to send out my personal wip branch.
So for the record: The intention is to send what's in work.i_state on
vfs/vfs.git.

---
I've recently looked for some free space in struct inode again because
of some exec kerfuffle we recently had and while my idea didn't turn
into anything I noticed that we often waste bytes when using wait bit
operations. So I set out to switch that to another mechanism that would
allow us to free up bytes. So this is an attempt to turn i_state from
an unsigned long into an u32 using the individual bytes of i_state as
addresses for the wait var event mechanism (Thanks to Linus for that idea.).

This survives LTP, xfstests on various filesystems, and will-it-scale.

To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: NeilBrown <neilb@suse.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: Jan Kara <jack@suse.cz>
Cc: Christian Brauner <brauner@kernel.org>
Cc: linux-fsdevel@vger.kernel.org
Signed-off-by: Christian Brauner <brauner@kernel.org>

---
Changes in v2:
- Actually send out the correct branch.
- Link to v1: https://lore.kernel.org/r/20240816-vfs-misc-dio-v1-1-80fe21a2c710@kernel.org

---



---
base-commit: 01e603fb789c75b3a0c63bddd42a42a710da7a52
change-id: 20240820-work-i_state-4e34db39bcf8

Comments

Josef Bacik Aug. 21, 2024, 7:15 p.m. UTC | #1
On Wed, Aug 21, 2024 at 05:47:30PM +0200, Christian Brauner wrote:
> Hey,
> 
> So first time I managed to send out my personal wip branch.
> So for the record: The intention is to send what's in work.i_state on
> vfs/vfs.git.
> 
> ---
> I've recently looked for some free space in struct inode again because
> of some exec kerfuffle we recently had and while my idea didn't turn
> into anything I noticed that we often waste bytes when using wait bit
> operations. So I set out to switch that to another mechanism that would
> allow us to free up bytes. So this is an attempt to turn i_state from
> an unsigned long into an u32 using the individual bytes of i_state as
> addresses for the wait var event mechanism (Thanks to Linus for that idea.).
> 
> This survives LTP, xfstests on various filesystems, and will-it-scale.
> 
> To: Linus Torvalds <torvalds@linux-foundation.org>
> Cc: NeilBrown <neilb@suse.de>
> Cc: Peter Zijlstra <peterz@infradead.org>
> Cc: Ingo Molnar <mingo@redhat.com>
> Cc: Jeff Layton <jlayton@kernel.org>
> Cc: Jan Kara <jack@suse.cz>
> Cc: Christian Brauner <brauner@kernel.org>
> Cc: linux-fsdevel@vger.kernel.org
> Signed-off-by: Christian Brauner <brauner@kernel.org>
> 
> ---
> Changes in v2:
> - Actually send out the correct branch.
> - Link to v1: https://lore.kernel.org/r/20240816-vfs-misc-dio-v1-1-80fe21a2c710@kernel.org
> 

You can add

Reviewed-by: Josef Bacik <josef@toxicpanda.com>

to the series, thanks,

Josef
Jeff Layton Aug. 21, 2024, 7:42 p.m. UTC | #2
On Wed, 2024-08-21 at 17:47 +0200, Christian Brauner wrote:
> Hey,
> 
> So first time I managed to send out my personal wip branch.
> So for the record: The intention is to send what's in work.i_state on
> vfs/vfs.git.
> 
> ---
> I've recently looked for some free space in struct inode again
> because
> of some exec kerfuffle we recently had and while my idea didn't turn
> into anything I noticed that we often waste bytes when using wait bit
> operations. So I set out to switch that to another mechanism that
> would
> allow us to free up bytes. So this is an attempt to turn i_state from
> an unsigned long into an u32 using the individual bytes of i_state as
> addresses for the wait var event mechanism (Thanks to Linus for that
> idea.).
> 
> This survives LTP, xfstests on various filesystems, and will-it-
> scale.
> 
> To: Linus Torvalds <torvalds@linux-foundation.org>
> Cc: NeilBrown <neilb@suse.de>
> Cc: Peter Zijlstra <peterz@infradead.org>
> Cc: Ingo Molnar <mingo@redhat.com>
> Cc: Jeff Layton <jlayton@kernel.org>
> Cc: Jan Kara <jack@suse.cz>
> Cc: Christian Brauner <brauner@kernel.org>
> Cc: linux-fsdevel@vger.kernel.org
> Signed-off-by: Christian Brauner <brauner@kernel.org>
> 
> ---
> Changes in v2:
> - Actually send out the correct branch.
> - Link to v1:
> https://lore.kernel.org/r/20240816-vfs-misc-dio-v1-1-80fe21a2c710@kernel.org
> 
> ---
> 
> 
> 
> ---
> base-commit: 01e603fb789c75b3a0c63bddd42a42a710da7a52
> change-id: 20240820-work-i_state-4e34db39bcf8
> 

This all looks good to me, modulo one minor nit in patch #5 that you
can take or leave.

Reviewed-by: Jeff Layton <jlayton@kernel.org>