]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
memcg: initiate deprecation of pressure_level
authorShakeel Butt <shakeel.butt@linux.dev>
Wed, 14 Aug 2024 22:00:21 +0000 (15:00 -0700)
committerAndrew Morton <akpm@linux-foundation.org>
Sat, 17 Aug 2024 00:53:25 +0000 (17:53 -0700)
The pressure_level in memcg v1 provides memory pressure notifications to
the user space.  At the moment it provides notifications for three levels
of memory pressure i.e.  low, medium and critical, which are defined based
on internal memory reclaim implementation details.  More specifically the
ratio of scanned and reclaimed pages during a memory reclaim.  However
this is not robust as there are workloads with mostly unreclaimable user
memory or kernel memory.

For v2, the users can use PSI for memory pressure status of the system or
the cgroup.  Let's start the deprecation process for pressure_level and
add warnings to gather the info on how the current users are using this
interface and how they can be used to PSI.

Link: https://lkml.kernel.org/r/20240814220021.3208384-5-shakeel.butt@linux.dev
Signed-off-by: Shakeel Butt <shakeel.butt@linux.dev>
Reviewed-by: T.J. Mercier <tjmercier@google.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Acked-by: Roman Gushchin <roman.gushchin@linux.dev>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Muchun Song <muchun.song@linux.dev>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Documentation/admin-guide/cgroup-v1/memory.rst
mm/memcontrol-v1.c

index 0042206414c8f7efb676f578897a71d63008d454..270501db9f4e854aa768c6548ce46858476c1c3b 100644 (file)
@@ -86,6 +86,8 @@ Brief summary of control files.
                                      used.
  memory.force_empty                 trigger forced page reclaim
  memory.pressure_level              set memory pressure notifications
+                                     This knob is deprecated and shouldn't be
+                                     used.
  memory.swappiness                  set/show swappiness parameter of vmscan
                                     (See sysctl's vm.swappiness)
  memory.move_charge_at_immigrate     set/show controls of moving charges
@@ -898,8 +900,10 @@ At reading, current status of OOM is shown.
           The number of processes belonging to this cgroup killed by any
           kind of OOM killer.
 
-11. Memory Pressure
-===================
+11. Memory Pressure (DEPRECATED)
+================================
+
+THIS IS DEPRECATED!
 
 The pressure level notifications can be used to monitor the memory
 allocation cost; based on the pressure, applications can implement
index 28b3407f333caa698d99ad7bc506cc0ca8a0cf21..97a31d18a46ab2539af0c16eafb9e059eaf33794 100644 (file)
@@ -1997,6 +1997,9 @@ static ssize_t memcg_write_event_control(struct kernfs_open_file *of,
                event->register_event = mem_cgroup_oom_register_event;
                event->unregister_event = mem_cgroup_oom_unregister_event;
        } else if (!strcmp(name, "memory.pressure_level")) {
+               pr_warn_once("pressure_level is deprecated and will be removed. "
+                            "Please report your usecase to linux-mm-@kvack.org "
+                            "if you depend on this functionality. \n");
                event->register_event = vmpressure_register_event;
                event->unregister_event = vmpressure_unregister_event;
        } else if (!strcmp(name, "memory.memsw.usage_in_bytes")) {