On Wed, Aug 14, 2024 at 1:29 PM Shakeel Butt <shakeel.butt@xxxxxxxxx> wrote: > > 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 or 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. > > Signed-off-by: Shakeel Butt <shakeel.butt@xxxxxxxxx> > --- > Documentation/admin-guide/cgroup-v1/memory.rst | 8 ++++++-- > mm/memcontrol-v1.c | 3 +++ > 2 files changed, 9 insertions(+), 2 deletions(-) > > diff --git a/Documentation/admin-guide/cgroup-v1/memory.rst b/Documentation/admin-guide/cgroup-v1/memory.rst > index 74cea6712d06..8ec1faf08b6b 100644 > --- a/Documentation/admin-guide/cgroup-v1/memory.rst > +++ b/Documentation/admin-guide/cgroup-v1/memory.rst > @@ -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 > diff --git a/mm/memcontrol-v1.c b/mm/memcontrol-v1.c > index 07343e338e4e..420c7d15f12a 100644 > --- a/mm/memcontrol-v1.c > +++ b/mm/memcontrol-v1.c > @@ -1913,6 +1913,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-@xxxxxxxxx " > + "if you depend on this functionality. \n"; Missing close paren? Extra space at the end too. > event->register_event = vmpressure_register_event; > event->unregister_event = vmpressure_unregister_event; > } else if (!strcmp(name, "memory.memsw.usage_in_bytes")) { > -- > 2.43.5 > >