mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/3] ext4: reduce per-inode memory overhead
@ 2026-11-11 12:52 Max Kellermann
  2026-11-11 12:52 ` [PATCH 1/3] ext4: make fast commit support optional Max Kellermann
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Max Kellermann @ 2026-11-11 12:52 UTC (permalink / raw)
  To: tytso, adilger.kernel, libaokun, jack, ojaswin, ritesh.list,
	yi.zhang, linux-ext4, linux-kernel
  Cc: Max Kellermann

This series reduces the size of `struct ext4_inode_info` by improving
timestamp packing and allowing fast commit and bigalloc support to be
omitted at compile time.

The incremental reductions are:

  Disable CONFIG_EXT4_FS_FAST_COMMIT              48 bytes
  Disable CONFIG_EXT4_FS_BIGALLOC                  8 bytes
  Compact creation time, with fast commit off      8 bytes
                                                 --------
  Total                                          64 bytes

On our production server with 35 million ext4 inode objects (a big
fscache partition), this saves 2.1 GB RAM.

Both new Kconfig options default to enabled.  Without fast commit
support, clean filesystems use ordinary journal commits; journals
requiring fast commit recovery are rejected.  Without bigalloc
support, bigalloc filesystems are rejected before journal recovery,
including for read-only mounts.

Max Kellermann (3):
  ext4: make fast commit support optional
  ext4: make bigalloc support optional
  ext4: store creation time in separate seconds and nanoseconds

 Documentation/filesystems/ext4/bigalloc.rst |  6 ++
 Documentation/filesystems/ext4/journal.rst  |  7 ++
 fs/ext4/Kconfig                             | 31 ++++++++
 fs/ext4/Makefile                            |  3 +-
 fs/ext4/ext4.h                              | 83 +++++++++++++++++++--
 fs/ext4/extents_status.c                    | 44 ++++++++++-
 fs/ext4/extents_status.h                    | 15 ++++
 fs/ext4/ialloc.c                            |  3 +-
 fs/ext4/inode.c                             |  8 +-
 fs/ext4/super.c                             | 40 ++++++++--
 fs/ext4/sysfs.c                             |  6 ++
 include/trace/events/ext4.h                 |  3 +
 12 files changed, 227 insertions(+), 22 deletions(-)

-- 
2.53.0


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-11-11 12:52 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-11 12:52 [PATCH 0/3] ext4: reduce per-inode memory overhead Max Kellermann
2026-11-11 12:52 ` [PATCH 1/3] ext4: make fast commit support optional Max Kellermann
2026-11-11 12:52 ` [PATCH 2/3] ext4: make bigalloc " Max Kellermann
2026-11-11 12:52 ` [PATCH 3/3] ext4: store creation time in separate seconds and nanoseconds Max Kellermann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®