[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e6c8fa06-c76c-49e7-a027-0a7b610f1e9c@linux.dev>
Date: Wed, 13 Aug 2025 17:54:43 -0700
From: Martin KaFai Lau <martin.lau@...ux.dev>
To: Shakeel Butt <shakeel.butt@...ux.dev>,
Kuniyuki Iwashima <kuniyu@...gle.com>
Cc: "David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>,
Neal Cardwell <ncardwell@...gle.com>, Paolo Abeni <pabeni@...hat.com>,
Willem de Bruijn <willemb@...gle.com>, Matthieu Baerts <matttbe@...nel.org>,
Mat Martineau <martineau@...nel.org>, Johannes Weiner <hannes@...xchg.org>,
Michal Hocko <mhocko@...nel.org>, Roman Gushchin <roman.gushchin@...ux.dev>,
Andrew Morton <akpm@...ux-foundation.org>, Michal Koutný
<mkoutny@...e.com>, Tejun Heo <tj@...nel.org>,
Simon Horman <horms@...nel.org>, Geliang Tang <geliang@...nel.org>,
Muchun Song <muchun.song@...ux.dev>, Mina Almasry <almasrymina@...gle.com>,
Kuniyuki Iwashima <kuni1840@...il.com>, netdev@...r.kernel.org,
mptcp@...ts.linux.dev, cgroups@...r.kernel.org, linux-mm@...ck.org,
bpf@...r.kernel.org
Subject: Re: [PATCH v3 net-next 12/12] net-memcg: Decouple controlled memcg
from global protocol memory accounting.
On 8/13/25 1:53 PM, Shakeel Butt wrote:
> What I think is the right approach is to have BPF struct ops based
> approach with possible callback 'is this socket under pressure' or maybe
> 'is this socket isolated' and then you can do whatever you want in those
> callbacks. In this way your can follow the same approach of caching the
> result in kernel (lower bits of sk->sk_memcg).
>
> I am CCing bpf list to get some suggestions or concerns on this
> approach.
I have quickly looked at the set. In patch 11, it sets a bit in sk->sk_memcg.
On the bpf side, there are already cgroup bpf progs that can do bpf_setsockopt
on a sk, so the same can be done here. The bpf_setsockopt does not have to set
option/knob that is only available in the uapi in case we don't want to expose
this to the user space.
The cgroup bpf prog (BPF_CGROUP_INET_SOCK_CREATE) can already be run when a
"inet" sock is created. This hook (i.e. attach_type) does not have access to
bpf_setsockopt but should be easy to add.
For more comprehensive mem charge policy that needs new bpf hook, that probably
will need struct_ops instead of another cgroup attach_type but that will be
implementation details.
Powered by blists - more mailing lists