[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <b76d3334a0b14a709ef3c3c197f5ddf5@gin.de>
Date: Thu, 18 Sep 2025 05:55:45 +0000
From: "Richter, Rafael" <rafael.richter.extern@....de>
To: Jan Kara <jack@...e.cz>
CC: "linux-ext4@...r.kernel.org" <linux-ext4@...r.kernel.org>
Subject: AW: ext4: slow unmount with large clean page cache; is fsfreeze→umount recommended?
Hi!
> Yes. This is because with this kernel version XFS uses large folios (upto
> 2MB in size) while ext4 uses only 4k folios for the page cache. And
> evicting that many folios in ext4 takes time. Large folio support has been
> added to ext4 recently (6.16?) so with that you should see similar umount
> times again.
Thank you for this valuable information. I will give it a try.
Von: Jan Kara <jack@...e.cz>
Gesendet: Mittwoch, 17. September 2025 17:58
An: Richter, Rafael
Cc: linux-ext4@...r.kernel.org
Betreff: Re: ext4: slow unmount with large clean page cache; is fsfreeze→umount recommended?
CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.
Hi!
On Fri 12-09-25 14:20:13, Richter, Rafael wrote:
> we consistently see slow unmounts (~6–8s) on ext4 after heavy buffered writes
> (e.g., dd ~30 GiB) that grow the page cache. Same test on XFS unmounts <1s on
> the same hardware, but we must stay on ext4.
>
> Env:
> - Kernel: 6.6.36 (Yocto-based)
> - Device: SSD via mdraid (/dev/md0p1)
> - Mount: ext4 on /mnt/disk (defaults)
>
> Repro:
> dd if=/dev/zero of=/mnt/disk/big.bin bs=1M count=30720 status=progress
> sync -f /mnt/disk
> time umount /mnt/disk # ext4: ~6–8s
Yes. This is because with this kernel version XFS uses large folios (upto
2MB in size) while ext4 uses only 4k folios for the page cache. And
evicting that many folios in ext4 takes time. Large folio support has been
added to ext4 recently (6.16?) so with that you should see similar umount
times again.
> Observations:
> - Dirty/Writeback are ~0 before unmount.
> - `fsfreeze -f /mnt/disk` immediately before `umount` makes unmount very fast.
> - `mount -o remount,ro` before `umount` does NOT improve unmount time.
Well, this is definitely not recommended. fsfreeze -f will acquire
superblock reference which means that the filesystem actually stays mounted
in the background after umount until you unfreeze it (for which you need to
mount it again ;)). That's a bit of a catch with fsfreeze.
Honza
--
Jan Kara <jack@...e.com>
SUSE Labs, CR
Powered by blists - more mailing lists