After writing "4" to /proc/sys/vm/drop_caches there was no way to re-enable the drop_caches kernel message. By replacing the "or" assignment for the stfu variable, it is now possible to toggle the message on and off by setting the 4th bit in /proc/sys/vm/drop_caches. Signed-off-by: Joel Granados <joel.granados@xxxxxxxxxx> --- Changes in v2: - Check the 4 bit before we actualy toggle the message - Link to v1: https://lore.kernel.org/r/20250313-jag-drop_caches_msg-v1-1-c2e4e7874b72@xxxxxxxxxx --- --- Documentation/admin-guide/sysctl/vm.rst | 2 +- fs/drop_caches.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Documentation/admin-guide/sysctl/vm.rst b/Documentation/admin-guide/sysctl/vm.rst index f48eaa98d22d2b575f6e913f437b0d548daac3e6..75a032f8cbfb4e05f04610cca219d154bd852789 100644 --- a/Documentation/admin-guide/sysctl/vm.rst +++ b/Documentation/admin-guide/sysctl/vm.rst @@ -266,7 +266,7 @@ used:: cat (1234): drop_caches: 3 These are informational only. They do not mean that anything is wrong -with your system. To disable them, echo 4 (bit 2) into drop_caches. +with your system. To toggle them, echo 4 (bit 2) into drop_caches. enable_soft_offline =================== diff --git a/fs/drop_caches.c b/fs/drop_caches.c index d45ef541d848a73cbd19205e0111c2cab3b73617..15730593ae39955ae7ae93aec17546fc96f89dce 100644 --- a/fs/drop_caches.c +++ b/fs/drop_caches.c @@ -68,12 +68,13 @@ int drop_caches_sysctl_handler(const struct ctl_table *table, int write, drop_slab(); count_vm_event(DROP_SLAB); } + if (sysctl_drop_caches & 4) + stfu ^= 1; if (!stfu) { pr_info("%s (%d): drop_caches: %d\n", current->comm, task_pid_nr(current), sysctl_drop_caches); } - stfu |= sysctl_drop_caches & 4; } return 0; } --- base-commit: 7eb172143d5508b4da468ed59ee857c6e5e01da6 change-id: 20250313-jag-drop_caches_msg-c4fbfedb51f3 Best regards, -- Joel Granados <joel.granados@xxxxxxxxxx>