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

T.J. Mercier
2024-08-14T20:59:31Z

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.

> 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>