linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Muchun Song <muchun.song@linux.dev>
To: "yebin (H)" <yebin10@huawei.com>
Cc: Ye Bin <yebin@huaweicloud.com>,
	viro@zeniv.linux.org.uk, brauner@kernel.org, jack@suse.cz,
	linux-fsdevel@vger.kernel.org, akpm@linux-foundation.org,
	david@fromorbit.com, zhengqi.arch@bytedance.com,
	roman.gushchin@linux.dev, linux-mm@kvack.org
Subject: Re: [PATCH v3 0/3] add support for drop_caches for individual filesystem
Date: Fri, 27 Feb 2026 16:27:13 +0800	[thread overview]
Message-ID: <57055A1C-0684-4B77-80ED-4A641F262792@linux.dev> (raw)
In-Reply-To: <69A15314.3080602@huawei.com>



> On Feb 27, 2026, at 16:17, yebin (H) <yebin10@huawei.com> wrote:
> 
> 
> 
> On 2026/2/27 15:45, Muchun Song wrote:
>> 
>> 
>>> On Feb 27, 2026, at 15:32, yebin (H) <yebin10@huawei.com> wrote:
>>> 
>>> 
>>> 
>>> On 2026/2/27 14:55, Muchun Song wrote:
>>>> 
>>>> 
>>>>> On Feb 27, 2026, at 14:39, yebin (H) <yebin10@huawei.com> wrote:
>>>>> 
>>>>> 
>>>>> 
>>>>> On 2026/2/27 11:31, Muchun Song wrote:
>>>>>> 
>>>>>> 
>>>>>>> On Feb 27, 2026, at 10:55, Ye Bin <yebin@huaweicloud.com> wrote:
>>>>>>> 
>>>>>>> From: Ye Bin <yebin10@huawei.com>
>>>>>>> 
>>>>>>> In order to better analyze the issue of file system uninstallation caused
>>>>>>> by kernel module opening files, it is necessary to perform dentry recycling
>>>>>>> on a single file system. But now, apart from global dentry recycling, it is
>>>>>>> not supported to do dentry recycling on a single file system separately.
>>>>>> 
>>>>>> Would shrinker-debugfs satisfy your needs (See Documentation/admin-guide/mm/shrinker_debugfs.rst)?
>>>>>> 
>>>>>> Thanks,
>>>>>> Muchun
>>>>>> 
>>>>> Thank you for the reminder. The reclamation of dentries and nodes can meet my needs. However, the reclamation of the page cache alone does not satisfy my requirements. I have reviewed the code of shrinker_debugfs_scan_write() and found that it does not support batch deletion of all dentries/inode for all nodes/memcgs,instead, users need to traverse through them one by one, which is not very convenient. Based on my previous experience, I have always performed dentry/inode reclamation at the file system level.
>>>> 
>>>> I don't really like that you're implementing another mechanism with duplicate
>>>> functionality. If you'd like, you could write a script to iterate through them
>>>> and execute it that way—I don't think that would be particularly inconvenient,
>>>> would it? If the iteration operation of memcg is indeed quite cumbersome, I
>>>> think extending the shrinker debugfs functionality would be more appropriate.
>>>> 
>>> The shrinker_debugfs can be extended to support node/memcg/fs granularity reclamation, similar to the extended function of echo " 0 - X" > count /echo " - 0 X" > count /echo " - - X" > count. This only solves the problem of reclaiming dentries/inode based on a single file system. However, the page cache reclamation based on a single file system cannot be implemented by using shrinker_debugfs. If the extended function is implemented by shrinker_debugfs, drop_fs_caches can reuse the same interface and maintain the same semantics as drop_caches.
>> 
>> If the inode is evicted, the page cache is evicted as well. It cannot evict page
>> cache alone. Why you want to evict cache alone?
>> 
> The condition for dentry/inode to be reclaimed is that there are no
> references to them. Therefore, relying on inode reclamation for page
> cache reclamation has limitations. Additionally, there is currently no

What limit?

> usage statistics for the page cache based on a single file system. By
> comparing the page cache usage before and after reclamation, we can
> roughly estimate the amount of page cache used by a file system.

I'm curious why dropping inodes doesn't show a noticeable difference
in page cache usage before and after?

> 
>>>>> 
>>>>> Thanks,
>>>>> Ye Bin
>>>>>>> This feature has usage scenarios in problem localization scenarios.At the
>>>>>>> same time, it also provides users with a slightly fine-grained
>>>>>>> pagecache/entry recycling mechanism.
>>>>>>> This patchset supports the recycling of pagecache/entry for individual file
>>>>>>> systems.
>>>>>>> 
>>>>>>> Diff v3 vs v2
>>>>>>> 1. Introduce introduce drop_sb_dentry_inode() helper instead of
>>>>>>> reclaim_dcache_sb()/reclaim_icache_sb() helper for reclaim dentry/inode.
>>>>>>> 2. Fixing compilation issues in specific architectures and configurations.
>>>>>>> 
>>>>>>> Diff v2 vs v1:
>>>>>>> 1. Fix possible live lock for shrink_icache_sb().
>>>>>>> 2. Introduce reclaim_dcache_sb() for reclaim dentry.
>>>>>>> 3. Fix potential deadlocks as follows:
>>>>>>> https://lore.kernel.org/linux-fsdevel/00000000000098f75506153551a1@google.com/
>>>>>>> After some consideration, it was decided that this feature would primarily
>>>>>>> be used for debugging purposes. Instead of adding a new IOCTL command, the
>>>>>>> task_work mechanism was employed to address potential deadlock issues.
>>>>>>> 
>>>>>>> Ye Bin (3):
>>>>>>>  mm/vmscan: introduce drop_sb_dentry_inode() helper
>>>>>>>  sysctl: add support for drop_caches for individual filesystem
>>>>>>>  Documentation: add instructions for using 'drop_fs_caches sysctl'
>>>>>>>    sysctl
>>>>>>> 
>>>>>>> Documentation/admin-guide/sysctl/vm.rst |  44 +++++++++
>>>>>>> fs/drop_caches.c                        | 125 ++++++++++++++++++++++++
>>>>>>> include/linux/mm.h                      |   1 +
>>>>>>> mm/internal.h                           |   3 +
>>>>>>> mm/shrinker.c                           |   4 +-
>>>>>>> mm/vmscan.c                             |  50 ++++++++++
>>>>>>> 6 files changed, 225 insertions(+), 2 deletions(-)
>>>>>>> 
>>>>>>> --
>>>>>>> 2.34.1
>>>>>>> 
>>>>>> 
>>>>>> .
>>>>>> 
>>>> 
>>>> .
>> 
>> 
>> 
>> 
>> .




  reply	other threads:[~2026-02-27  8:28 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-27  2:55 Ye Bin
2026-02-27  2:55 ` [PATCH v3 1/3] mm/vmscan: introduce drop_sb_dentry_inode() helper Ye Bin
2026-02-27  2:55 ` [PATCH v3 2/3] sysctl: add support for drop_caches for individual filesystem Ye Bin
2026-02-27  2:55 ` [PATCH v3 3/3] Documentation: add instructions for using 'drop_fs_caches sysctl' sysctl Ye Bin
2026-02-27  3:31 ` [PATCH v3 0/3] add support for drop_caches for individual filesystem Muchun Song
2026-02-27  6:39   ` yebin (H)
2026-02-27  6:50     ` Qi Zheng
2026-02-27  7:18       ` yebin (H)
2026-02-27  6:55     ` Muchun Song
2026-02-27  7:32       ` yebin (H)
2026-02-27  7:45         ` Muchun Song
2026-02-27  8:17           ` yebin (H)
2026-02-27  8:27             ` Muchun Song [this message]
2026-02-27  9:02               ` yebin (H)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=57055A1C-0684-4B77-80ED-4A641F262792@linux.dev \
    --to=muchun.song@linux.dev \
    --cc=akpm@linux-foundation.org \
    --cc=brauner@kernel.org \
    --cc=david@fromorbit.com \
    --cc=jack@suse.cz \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=roman.gushchin@linux.dev \
    --cc=viro@zeniv.linux.org.uk \
    --cc=yebin10@huawei.com \
    --cc=yebin@huaweicloud.com \
    --cc=zhengqi.arch@bytedance.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox