• SeongJae Park's avatar
    mm/damon: adaptively adjust regions · b9a6ac4e
    SeongJae Park authored
    Even somehow the initial monitoring target regions are well constructed to
    fulfill the assumption (pages in same region have similar access
    frequencies), the data access pattern can be dynamically changed.  This
    will result in low monitoring quality.  To keep the assumption as much as
    possible, DAMON adaptively merges and splits each region based on their
    access frequency.
    
    For each ``aggregation interval``, it compares the access frequencies of
    adjacent regions and merges those if the frequency difference is small.
    Then, after it reports and clears the aggregated access frequency of each
    region, it splits each region into two or three regions if the total
    number of regions will not exceed the user-specified maximum number of
    regions after the split.
    
    In this way, DAMON provides its best-effort quality and minimal overhead
    while keeping the upper-bound overhead that users set.
    
    Link: https://lkml.kernel.org/r/20210716081449.22187-4-sj38.park@gmail.comSigned-off-by: default avatarSeongJae Park <sjpark@amazon.de>
    Reviewed-by: default avatarLeonard Foerster <foersleo@amazon.de>
    Reviewed-by: default avatarFernand Sieber <sieberf@amazon.com>
    Acked-by: default avatarShakeel Butt <shakeelb@google.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Amit Shah <amit@kernel.org>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Brendan Higgins <brendanhiggins@google.com>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: David Rientjes <rientjes@google.com>
    Cc: David Woodhouse <dwmw@amazon.com>
    Cc: Fan Du <fan.du@intel.com>
    Cc: Greg Kroah-Hartman <greg@kroah.com>
    Cc: Greg Thelen <gthelen@google.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Joe Perches <joe@perches.com>
    Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Cc: Marco Elver <elver@google.com>
    Cc: Markus Boehme <markubo@amazon.de>
    Cc: Maximilian Heyne <mheyne@amazon.de>
    Cc: Mel Gorman <mgorman@suse.de>
    Cc: Minchan Kim <minchan@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Rik van Riel <riel@surriel.com>
    Cc: Shuah Khan <shuah@kernel.org>
    Cc: Steven Rostedt (VMware) <rostedt@goodmis.org>
    Cc: Vladimir Davydov <vdavydov.dev@gmail.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    b9a6ac4e
core.c 15.7 KB