Re: [PATCH v2 13/13] Docs/ABI/testing: Add DAMON sysfs interface ABI document

Greg KH
2022-02-25T14:59:03Z

On Fri, Feb 25, 2022 at 02:15:40PM +0000, SeongJae Park wrote:
> On Fri, 25 Feb 2022 14:10:07 +0000 SeongJae Park <sj@kernel.org> wrote:
>
> > Hello Gregg,
> >
> >
> > On Fri, 25 Feb 2022 13:23:00 +0000 SeongJae Park <sj@kernel.org> wrote:
> >
> > > On Fri, 25 Feb 2022 14:18:59 +0100 Greg KH <gregkh@linuxfoundation.org> wrote:
> > >
> > > > On Fri, Feb 25, 2022 at 01:07:12PM +0000, SeongJae Park wrote:
> > > > > This commit adds DAMON sysfs interface ABI document under
> > > > > Documentation/ABI/testing.
> > > > >
> > > > > Signed-off-by: SeongJae Park <sj@kernel.org>
> > > > > ---
> > > > > .../ABI/testing/sysfs-kernel-mm-damon | 276 ++++++++++++++++++
> > > > > MAINTAINERS | 1 +
> > > > > 2 files changed, 277 insertions(+)
> > > > > create mode 100644 Documentation/ABI/testing/sysfs-kernel-mm-damon
> > > > >
> > > > > diff --git a/Documentation/ABI/testing/sysfs-kernel-mm-damon b/Documentation/ABI/testing/sysfs-kernel-mm-damon
> > > > > new file mode 100644
> > > > > index 000000000000..11984c3a4b55
> > > > > --- /dev/null
> > > > > +++ b/Documentation/ABI/testing/sysfs-kernel-mm-damon
> > > > > @@ -0,0 +1,276 @@
> > > > > +what: /sys/kernel/mm/damon/
> > > > > +Date: Feb 2022
> > > > > +Contact: SeongJae Park <sj@kernel.org>
> > > > > +Description: Interface for Data Access MONitoring (DAMON).
> > > > > + See Documentation/admin-guide/mm/damon/index.rst for details.
> > > >
> > > > Ick, no. Put the real details in here please. That way it works with
> > > > our tools.
> > >
> > > Ok, thanks for the quick comment!
> >
> > Before sending the full series again, I'd like to get your comment if you're
> > ok. What do you think about below?
> >
> > diff --git a/Documentation/ABI/testing/sysfs-kernel-mm-damon b/Documentation/ABI/testing/sysfs-kernel-mm-damon
> > new file mode 100644
> > index 000000000000..11984c3a4b55
> > --- /dev/null
> > +++ b/Documentation/ABI/testing/sysfs-kernel-mm-damon
> > @@ -0,0 +1,276 @@
> > +what: /sys/kernel/mm/damon/
> > +Date: Feb 2022
> > +Contact: SeongJae Park <sj@kernel.org>
> > +Description: Interface for Data Access MONitoring (DAMON).
> > + See Documentation/admin-guide/mm/damon/index.rst for details.
>
> Oops, I pasted wrong, sorry. Please read below:
>
> diff --git a/Documentation/ABI/testing/sysfs-kernel-mm-damon b/Documentation/ABI/testing/sysfs-kernel-mm-damon
> new file mode 100644
> index 000000000000..e58d844b4f82
> --- /dev/null
> +++ b/Documentation/ABI/testing/sysfs-kernel-mm-damon
> @@ -0,0 +1,273 @@
> +what: /sys/kernel/mm/damon/
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Interface for Data Access MONitoring (DAMON). Contains files
> + for controlling DAMON.

For this entry, point people at your larger documentation.

> +
> +What: /sys/kernel/mm/damon/admin/
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Interface for privileged users of DAMON. Contains files for
> + controlling DAMON that aimed to be used by privileged users.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/nr_kdamonds
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Writing a number 'N' to this file creates the number of
> + directories for controlling each DAMON worker thread (kdamond)
> + named '0' to 'N-1' under the kdamonds/ directory.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/state
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Writing 'on' or 'off' to this file makes the kdamond starts or
> + stops, respectively. Reading the file returns the keywords
> + based on the current status. Writing 'update_schemes_stats' to
> + the file updates contents of schemes stats files of the
> + kdamond.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/pid
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Reading this file returns the pid of the kdamond if it is
> + running.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/nr_contexts
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Writing a number 'N' to this file creates the number of
> + directories for controlling each DAMON context named '0' to
> + 'N-1' under the contexts/ directory.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/operations
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Writing a keyword for a monitoring operations set ('vaddr' for
> + virtual address spaces monitoring, and 'paddr' for the physical
> + address space monitoring) to this file makes the context to use
> + the operations set. Reading the file returns the keyword for
> + the operations set the context is set to use.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/sample_us
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Writing a value to this file sets the sampling interval of the
> + DAMON context in microseconds as the value. Reading this file
> + returns the value.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/aggr_us
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Writing a value to this file sets the aggregation interval of
> + the DAMON context in microseconds as the value. Reading this
> + file returns the value.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/intervals/update_us
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Writing a value to this file sets the update interval of the
> + DAMON context in microseconds as the value. Reading this file
> + returns the value.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/nr_regions/min
> +
> +WDate: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Writing a value to this file sets the minimum number of
> + monitoring regions of the DAMON context as the value. Reading
> + this file returns the value.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/monitoring_attrs/nr_regions/max
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Writing a value to this file sets the maximum number of
> + monitoring regions of the DAMON context as the value. Reading
> + this file returns the value.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/nr_targets
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Writing a number 'N' to this file creates the number of
> + directories for controlling each DAMON target of the context
> + named '0' to 'N-1' under the contexts/ directory.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/pid_target
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Writing to and reading from this file sets and gets the pid of
> + the target process if the context is for virtual address spaces
> + monitoring, respectively.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/nr_regions
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Writing a number 'N' to this file creates the number of
> + directories for setting each DAMON target memory region of the
> + context named '0' to 'N-1' under the regions/ directory. In
> + case of the virtual address space monitoring, DAMON
> + automatically sets the target memory region based on the target
> + processes' mappings.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/<R>/start
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Writing to and reading from this file sets and gets the start
> + address of the monitoring region.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/<R>/end
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Writing to and reading from this file sets and gets the end
> + address of the monitoring region.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/nr_schemes
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Writing a number 'N' to this file creates the number of
> + directories for controlling each DAMON-based operation scheme
> + of the context named '0' to 'N-1' under the schemes/ directory.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes//action
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Writing to and reading from this file sets and gets the action
> + of the scheme.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes//access_pattern/sz/min
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Writing to and reading from this file sets and gets the mimimum
> + size of the scheme's target regions in bytes.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes//access_pattern/sz/max
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Writing to and reading from this file sets and gets the maximum
> + size of the scheme's target regions in bytes.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes//access_pattern/nr_accesses/min
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Writing to and reading from this file sets and gets the manimum
> + 'nr_accesses' of the scheme's target regions.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes//access_pattern/nr_accesses/max
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Writing to and reading from this file sets and gets the maximum
> + 'nr_accesses' of the scheme's target regions.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes//access_pattern/age/min
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Writing to and reading from this file sets and gets the minimum
> + 'age' of the scheme's target regions.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes//access_pattern/age/max
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Writing to and reading from this file sets and gets the maximum
> + 'age' of the scheme's target regions.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes//quotas/ms
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Writing to and reading from this file sets and gets the time
> + quota of the scheme in milliseconds.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes//quotas/bytes
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Writing to and reading from this file sets and gets the size
> + quota of the scheme in bytes.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes//quotas/reset_interval_ms
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Writing to and reading from this file sets and gets the quotas
> + charge reset interval of the scheme in milliseconds.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes//quotas/weights/sz_permil
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Writing to and reading from this file sets and gets the
> + under-quota limit regions prioritization weight for 'size' in
> + permil.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes//quotas/weights/nr_accesses_permil
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Writing to and reading from this file sets and gets the
> + under-quota limit regions prioritization weight for
> + 'nr_accesses' in permil.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes//quotas/weights/age_permil
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Writing to and reading from this file sets and gets the
> + under-quota limit regions prioritization weight for 'age' in
> + permil.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes//watermarks/metric
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Writing to and reading from this file sets and gets the metric
> + of the watermarks for the scheme. The writable/readable
> + keywords for this file are 'none' for disabling the watermarks
> + feature, or 'free_mem_rate' for the system's global free memory
> + rate in permil.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes//watermarks/interval_us
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Writing to and reading from this file sets and gets the metric
> + check interval of the watermarks for the scheme in
> + microseconds.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes//watermarks/high
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Writing to and reading from this file sets and gets the high
> + watermark of the scheme in permil.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes//watermarks/mid
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Writing to and reading from this file sets and gets the mid
> + watermark of the scheme in permil.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes//watermarks/low
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Writing to and reading from this file sets and gets the low
> + watermark of the scheme in permil.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes//stats/nr_tried
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Reading this file returns the number of regions that the action
> + of the scheme has tried to be applied.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes//stats/sz_tried
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Reading this file returns the total size of regions that the
> + action of the scheme has tried to be applied in bytes.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes//stats/nr_applied
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Reading this file returns the number of regions that the action
> + of the scheme has successfully applied.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes//stats/sz_applied
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Reading this file returns the total size of regions that the
> + action of the scheme has successfully applied in bytes.
> +
> +What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes//stats/qt_exceeds
> +Date: Feb 2022
> +Contact: SeongJae Park <sj@kernel.org>
> +Description: Reading this file returns the number of the exceed events of
> + the scheme's quotas.
>

Yes, this looks much better, thanks. But you might want to change the
month as I doubt this will be merged in the next few days :)

thanks,

greg k-h