Message ID | 20240823-work-i_state-v3-0-5cd5fd207a57@kernel.org (mailing list archive) |
---|---|
Headers | show |
Series | inode: turn i_state into u32 | expand |
On Fri, Aug 23, 2024 at 02:47:34PM +0200, Christian Brauner wrote: > Hey, > > This is v3. I changed to manual barriers as requested and commented > them. > > --- > > 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> Reviewed-by: Josef Bacik <josef@toxicpanda.com> Thanks, Josef
Hey, This is v3. I changed to manual barriers as requested and commented them. --- 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 v3: - Use manual barrier. - Link to v2: https://lore.kernel.org/r/20240821-work-i_state-v2-0-67244769f102@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