On Tue, Aug 26, 2025 at 06:38:07PM +0000, Kuniyuki Iwashima wrote: > If memcg is enabled, accept() acquires lock_sock() twice for each new > TCP/MPTCP socket in inet_csk_accept() and __inet_accept(). > > Let's move memcg operations from inet_csk_accept() to __inet_accept(). > > Note that SCTP somehow allocates a new socket by sk_alloc() in > sk->sk_prot->accept() and clones fields manually, instead of using > sk_clone_lock(). > > mem_cgroup_sk_alloc() is called for SCTP before __inet_accept(), > so I added the protocol check in __inet_accept(), but this can be > removed once SCTP uses sk_clone_lock(). > > Signed-off-by: Kuniyuki Iwashima <kuniyu@xxxxxxxxxx> Reviewed-by: Shakeel Butt <shakeel.butt@xxxxxxxxx>