Re: [PATCH RFC v4 11/13] mm/vmscan: Move count_vm_event(DROP_SLAB) into drop_slab()

From: Michal Hocko
Date: Tue Feb 25 2020 - 09:13:45 EST


On Thu 12-12-19 18:11:35, David Hildenbrand wrote:
> 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>

Slight inconsistency with the page cache droppint but nothing earth
shattering.

Acked-by: Michal Hocko <mhocko@xxxxxxxx>

> ---
> 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

--
Michal Hocko
SUSE Labs