• SeongJae Park's avatar
    mm/damon/core: implement target type damos filter · 17e7c724
    SeongJae Park authored
    One DAMON context can have multiple monitoring targets, and DAMOS schemes
    are applied to all targets.  In some cases, users need to apply different
    scheme to different targets.  Retrieving monitoring results via DAMON
    sysfs interface' 'tried_regions' directory could be one good example. 
    Also, there could be cases that cgroup DAMOS filter is not enough.  All
    such use cases can be worked around by having multiple DAMON contexts
    having only single target, but it is inefficient in terms of resource
    usage, thogh the overhead is not estimated to be huge.
    
    Implement DAMON monitoring target based DAMOS filter for the case.  Like
    address range target DAMOS filter, handle these filters in the DAMON core
    layer, since it is more efficient than doing in operations set layer. 
    This also means that regions that filtered out by monitoring target type
    DAMOS filters are counted as not tried by the scheme.  Hence, target
    granularity monitoring results retrieval via DAMON sysfs interface becomes
    available.
    
    Link: https://lkml.kernel.org/r/20230802214312.110532-9-sj@kernel.orgSigned-off-by: default avatarSeongJae Park <sj@kernel.org>
    Cc: Brendan Higgins <brendanhiggins@google.com>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Cc: Shuah Khan <shuah@kernel.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    17e7c724
core.c 37.5 KB