• SeongJae Park's avatar
    mm/damon/core: add a tracepoint for damos apply target regions · c603c630
    SeongJae Park authored
    Patch series "mm/damon: add a tracepoint for damos apply target regions",
    v2.
    
    DAMON provides damon_aggregated tracepoint to let users record full
    monitoring results.  Sometimes, users need to record monitoring results of
    specific pattern.  DAMOS tried regions directory of DAMON sysfs interface
    allows it, but the interface is mainly designed for snapshots and
    therefore would be inefficient for such recording.  Implement yet another
    tracepoint for efficient support of the usecase.
    
    
    This patch (of 2):
    
    DAMON provides damon_aggregated tracepoint, which exposes details of each
    region and its access monitoring results.  It is useful for getting whole
    monitoring results, e.g., for recording purposes.
    
    For investigations of DAMOS, DAMON Sysfs interface provides DAMOS
    statistics and tried_regions directory.  But, those provides only
    statistics and snapshots.  If the scheme is frequently applied and if the
    user needs to know every detail of DAMOS behavior, the snapshot-based
    interface could be insufficient and expensive.
    
    As a last resort, userspace users need to record the all monitoring
    results via damon_aggregated tracepoint and simulate how DAMOS would
    worked.  It is unnecessarily complicated.  DAMON kernel API users,
    meanwhile, can do that easily via before_damos_apply() callback field of
    'struct damon_callback', though.
    
    Add a tracepoint that will be called just after before_damos_apply()
    callback for more convenient investigations of DAMOS.  The tracepoint
    exposes all details about each regions, similar to damon_aggregated
    tracepoint.
    
    Please note that DAMOS is currently not only for memory management but
    also for query-like efficient monitoring results retrievals (when 'stat'
    action is used).  Until now, only statistics or snapshots were supported. 
    Addition of this tracepoint allows efficient full recording of DAMOS-based
    filtered monitoring results.
    
    Link: https://lkml.kernel.org/r/20230913022050.2109-1-sj@kernel.org
    Link: https://lkml.kernel.org/r/20230913022050.2109-2-sj@kernel.orgSigned-off-by: default avatarSeongJae Park <sj@kernel.org>
    Reviewed-by: Steven Rostedt (Google) <rostedt@goodmis.org>	[tracing]
    Cc: Jonathan Corbet <corbet@lwn.net>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    c603c630
damon.h 2.22 KB