• SeongJae Park's avatar
    mm/damon/schemes: implement statistics feature · 2f0b548c
    SeongJae Park authored
    To tune the DAMON-based operation schemes, knowing how many and how
    large regions are affected by each of the schemes will be helful.  Those
    stats could be used for not only the tuning, but also monitoring of the
    working set size and the number of regions, if the scheme does not
    change the program behavior too much.
    
    For the reason, this implements the statistics for the schemes.  The
    total number and size of the regions that each scheme is applied are
    exported to users via '->stat_count' and '->stat_sz' of 'struct damos'.
    Admins can also check the number by reading 'schemes' debugfs file.  The
    last two integers now represents the stats.  To allow collecting the
    stats without changing the program behavior, this also adds new scheme
    action, 'DAMOS_STAT'.  Note that 'DAMOS_STAT' is not only making no
    memory operation actions, but also does not reset the age of regions.
    
    Link: https://lkml.kernel.org/r/20211001125604.29660-6-sj@kernel.orgSigned-off-by: default avatarSeongJae Park <sj@kernel.org>
    Cc: Amit Shah <amit@kernel.org>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: David Rienjes <rientjes@google.com>
    Cc: David Woodhouse <dwmw@amazon.com>
    Cc: Greg Thelen <gthelen@google.com>
    Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Cc: Leonard Foerster <foersleo@amazon.de>
    Cc: Marco Elver <elver@google.com>
    Cc: Markus Boehme <markubo@amazon.de>
    Cc: Shakeel Butt <shakeelb@google.com>
    Cc: Shuah Khan <shuah@kernel.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    2f0b548c
core.c 19.8 KB