Re: [PATCH 1/4] memcg: initiate deprecation of v1 tcp accounting

Shakeel Butt
2024-08-14T21:42:24Z

On Wed, Aug 14, 2024 at 01:59:15PM GMT, T.J. Mercier wrote:
> On Wed, Aug 14, 2024 at 1:28 PM Shakeel Butt <shakeel.butt@linux.dev> wrote:
> >
> > Memcg v1 provides opt-in TCP memory accounting feature. However it is
> > mostly unused due to its performance impact on the network traffic. In
> > v2, the TCP memory is accounted in the regular memory usage and is
> > transparent to the users but they can observe the TCP memory usage
> > through memcg stats.
> >
> > Let's initiate the deprecation process of memcg v1's tcp accounting
> > functionality and add warnings to gather if there are any users and if
> > there are, collect how they are using it and plan to provide them better
> > alternative in v2.
> >
> > Signed-off-by: Shakeel Butt <shakeel.butt@linux.dev>
> > ---
> > Documentation/admin-guide/cgroup-v1/memory.rst | 8 ++++++++
> > mm/memcontrol-v1.c | 3 +++
> > 2 files changed, 11 insertions(+)
> >
> > diff --git a/Documentation/admin-guide/cgroup-v1/memory.rst b/Documentation/admin-guide/cgroup-v1/memory.rst
> > index 9cde26d33843..fb6d3e2a6395 100644
> > --- a/Documentation/admin-guide/cgroup-v1/memory.rst
> > +++ b/Documentation/admin-guide/cgroup-v1/memory.rst
> > @@ -105,10 +105,18 @@ Brief summary of control files.
> > memory.kmem.max_usage_in_bytes show max kernel memory usage recorded
> >
> > memory.kmem.tcp.limit_in_bytes set/show hard limit for tcp buf memory
> > + This knob is deprecated and shouldn't be
> > + used.
> > memory.kmem.tcp.usage_in_bytes show current tcp buf memory allocation
> > + This knob is deprecated and shouldn't be
> > + used.
> > memory.kmem.tcp.failcnt show the number of tcp buf memory usage
> > + This knob is deprecated and shouldn't be
> > + used.
> > hits limits
>
> Looks like you split the description (that has weird grammar) here.
>

Thanks for catching. Bad paste line. Will fix.

> > memory.kmem.tcp.max_usage_in_bytes show max tcp buf memory usage recorded
> > + This knob is deprecated and shouldn't be
> > + used.
> > ==================================== ==========================================
> >
> > 1. History
> > diff --git a/mm/memcontrol-v1.c b/mm/memcontrol-v1.c
> > index 9725c731fb21..b8e2ee454eaa 100644
> > --- a/mm/memcontrol-v1.c
> > +++ b/mm/memcontrol-v1.c
> > @@ -2447,6 +2447,9 @@ static ssize_t mem_cgroup_write(struct kernfs_open_file *of,
> > ret = 0;
> > break;
> > case _TCP:
> > + pr_warn_once("kmem.tcp.limit_in_bytes is deprecated and will be removed. "
> > + "Please report your usecase to linux-mm@kvack.org if you "
> > + "depend on this functionality.\n");
> > ret = memcg_update_tcp_max(memcg, nr_pages);
> > break;
> > }
> > --
> > 2.43.5
> >
> Otherwise LGTM
> Reviewed-by: T.J. Mercier <tjmercier@google.com>

Thanks.