mm: add new KSM process and sysfs knobs
authorStefan Roesch <shr@devkernel.io>
Tue, 18 Apr 2023 05:13:41 +0000 (22:13 -0700)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 21 Apr 2023 21:52:03 +0000 (14:52 -0700)
commitd21077fbc2fc987c2e593c34dc3b4d84e546dc9f
tree1a56ca5e4613bc2a491ddbcb3d62c7064c97f276
parentd7597f59d1d33e9efbffa7060deb9ee5bd119e62
mm: add new KSM process and sysfs knobs

This adds the general_profit KSM sysfs knob and the process profit metric
knobs to ksm_stat.

1) expose general_profit metric

   The documentation mentions a general profit metric, however this
   metric is not calculated.  In addition the formula depends on the size
   of internal structures, which makes it more difficult for an
   administrator to make the calculation.  Adding the metric for a better
   user experience.

2) document general_profit sysfs knob

3) calculate ksm process profit metric

   The ksm documentation mentions the process profit metric and how to
   calculate it.  This adds the calculation of the metric.

4) mm: expose ksm process profit metric in ksm_stat

   This exposes the ksm process profit metric in /proc/<pid>/ksm_stat.
   The documentation mentions the formula for the ksm process profit
   metric, however it does not calculate it.  In addition the formula
   depends on the size of internal structures.  So it makes sense to
   expose it.

5) document new procfs ksm knobs

Link: https://lkml.kernel.org/r/20230418051342.1919757-3-shr@devkernel.io
Signed-off-by: Stefan Roesch <shr@devkernel.io>
Reviewed-by: Bagas Sanjaya <bagasdotme@gmail.com>
Acked-by: David Hildenbrand <david@redhat.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Rik van Riel <riel@surriel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Documentation/ABI/testing/sysfs-kernel-mm-ksm
Documentation/admin-guide/mm/ksm.rst
fs/proc/base.c
include/linux/ksm.h
mm/ksm.c