• SeongJae Park's avatar
    mm/damon/dbgfs: support multiple contexts · 75c1c2b5
    SeongJae Park authored
    In some use cases, users would want to run multiple monitoring context.
    For example, if a user wants a high precision monitoring and dedicating
    multiple CPUs for the job is ok, because DAMON creates one monitoring
    thread per one context, the user can split the monitoring target regions
    into multiple small regions and create one context for each region.  Or,
    someone might want to simultaneously monitor different address spaces,
    e.g., both virtual address space and physical address space.
    
    The DAMON's API allows such usage, but 'damon-dbgfs' does not.  Therefore,
    only kernel space DAMON users can do multiple contexts monitoring.
    
    This commit allows the user space DAMON users to use multiple contexts
    monitoring by introducing two new 'damon-dbgfs' debugfs files,
    'mk_context' and 'rm_context'.  Users can create a new monitoring context
    by writing the desired name of the new context to 'mk_context'.  Then, a
    new directory with the name and having the files for setting of the
    context ('attrs', 'target_ids' and 'record') will be created under the
    debugfs directory.  Writing the name of the context to remove to
    'rm_context' will remove the related context and directory.
    
    Link: https://lkml.kernel.org/r/20210716081449.22187-10-sj38.park@gmail.comSigned-off-by: default avatarSeongJae Park <sjpark@amazon.de>
    Reviewed-by: default avatarFernand Sieber <sieberf@amazon.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: Leonard Foerster <foersleo@amazon.de>
    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: Shakeel Butt <shakeelb@google.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>
    75c1c2b5
dbgfs.c 12.8 KB