Let's count within the function itself, so every invocation (of future users) will be counted. Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: linux-fsdevel@xxxxxxxxxxxxxxx Signed-off-by: David Hildenbrand <david@xxxxxxxxxx> --- fs/drop_caches.c | 4 +--- mm/vmscan.c | 1 + 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/fs/drop_caches.c b/fs/drop_caches.c index d31b6c72b476..a042da782fcd 100644 --- a/fs/drop_caches.c +++ b/fs/drop_caches.c @@ -61,10 +61,8 @@ int drop_caches_sysctl_handler(struct ctl_table *table, int write, iterate_supers(drop_pagecache_sb, NULL); count_vm_event(DROP_PAGECACHE); } - if (sysctl_drop_caches & 2) { + if (sysctl_drop_caches & 2) drop_slab(); - count_vm_event(DROP_SLAB); - } if (!stfu) { pr_info("%s (%d): drop_caches: %d\n", current->comm, task_pid_nr(current), diff --git a/mm/vmscan.c b/mm/vmscan.c index 5a6445e86328..c3e53502a84a 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -726,6 +726,7 @@ void drop_slab(void) for_each_online_node(nid) drop_slab_node(nid); + count_vm_event(DROP_SLAB); } static inline int is_page_cache_freeable(struct page *page) -- 2.23.0