Re: [PATCH v2 v2 2/2] ext4: allow clearing mballoc stats through mb_stats
From: IBM
Date: Tue Apr 21 2026 - 00:19:55 EST
Andreas Dilger <adilger@xxxxxxxxx> writes:
> On Apr 20, 2026, at 03:12, Ojaswin Mujoo <ojaswin@xxxxxxxxxxxxx> wrote:
>>
>> On Sun, Apr 19, 2026 at 02:34:36PM +0800, Baolin Liu wrote:
>>> From: Baolin Liu <liubaolin@xxxxxxxxxx>
>>>
>>> Make /proc/fs/ext4/<dev>/mb_stats writable and clear the runtime
>>> mballoc statistics when 0 is written.
>>>
>>> Signed-off-by: Baolin Liu <liubaolin@xxxxxxxxxx>
>>> ---
>> Hi Baolin, thanks for the changes.
>>
>> Seems like userspace doesn't have any way to know that writing 0 will
>> clear the that. Well, I guess if you are looking at this file you are
>> anyways debugging kernel code so that should be fine
>
> That could be documented in Documentation/filesystems/ext4/allocators.rst,
> or better would be to add a new file that covers mballoc in more detail.
>
I started looking for ext4's control knobs for sys-admins in kernel
Documentation where we should ideally document this, and I see those
are declared here..
Documentation/admin-guide/ext4.rst
Documentation/ABI/testing/sysfs-fs-ext4.rst
Looking at this and the relevant code, I see all /proc/ entries in ext4
are all readable and sysfs entries for ext4 are mostly the control knobs
which are declared in above admin guide.
But now this patch adds a control knob to /proc/fs/ext4/<dev>/mb_stats,
to clear the stats :).
I guess we could have simply documented a new control knob value (e.g.
"2") for clearing the stats via /sys/fs/ext4/<dev>/mb_stats itself or
maybe even having mb_stats_clear file in sysfs wasn't bad either... But
either ways, clearing the stats via the same procfs mb_stats file is not
totally bad and I don't have a strong preference.
For documenting this, we can add mb_stats entry under /proc section in
Documentation/admin-guide/ext4.rst and document this change. Something
like -
mb_stats
reports runtime statistics from multiblock allocator (mballoc),
including allocation request counts, groups scanned,
per-criteria scan hits (cr_p2_aligned, cr_goal_fast,
cr_best_avail, cr_goal_slow, cr_any_free), groups / extents
scanned, goal hits, buddy bitmap generations, and preallocation
usage etc.
Writing 0 to this procfs file resets all counters to zero.
-ritesh