From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id E4375C83F17 for ; Mon, 14 Jul 2025 18:03:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 80B5D8D000C; Mon, 14 Jul 2025 14:03:03 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7BBD78D0001; Mon, 14 Jul 2025 14:03:03 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6AB128D000C; Mon, 14 Jul 2025 14:03:03 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 544A58D0001 for ; Mon, 14 Jul 2025 14:03:03 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id C69C4C01EB for ; Mon, 14 Jul 2025 18:03:02 +0000 (UTC) X-FDA: 83663641404.05.270C6E2 Received: from mail-pl1-f179.google.com (mail-pl1-f179.google.com [209.85.214.179]) by imf24.hostedemail.com (Postfix) with ESMTP id D6DA3180011 for ; Mon, 14 Jul 2025 18:03:00 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=D5kv81yK; spf=pass (imf24.hostedemail.com: domain of kuniyu@google.com designates 209.85.214.179 as permitted sender) smtp.mailfrom=kuniyu@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1752516180; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=O6E+Nzc/K3p/4FxVNjQXCo2R2Lfp11YKUIbLXFvX0bo=; b=3x69rOLfL5IKjnRxpku9DtIQO8+YCcNz8tgRkKaU8p/ks4ExhVGm4wSGoNGGRxzcxEysZ8 J9rLVUl2SuxPMTsMJqpOy6UittPthceeCmXOqKKiFsWERN6Q7tmLI0uyH/Lkf4Nw0CsjjY 1h2uJhYiJSb8dEmEIQnudExI3B7Aerc= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=D5kv81yK; spf=pass (imf24.hostedemail.com: domain of kuniyu@google.com designates 209.85.214.179 as permitted sender) smtp.mailfrom=kuniyu@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1752516180; a=rsa-sha256; cv=none; b=JGtktRkrEvEZpOI97gjOEoW/bxs7Vx3SAVOnP1MC78yU5YoRGHyOoMSyya1VAkvLTxYKkG bD/itnBTAvPzKvDtER48Ysyr63u3srix2rCWsmalqLuMI5dYqg+KfZ9wktkr9HKfKIdcwQ 0PluyUc/99KlSoxzrJlQrXa7IUW+gF0= Received: by mail-pl1-f179.google.com with SMTP id d9443c01a7336-234b440afa7so44545095ad.0 for ; Mon, 14 Jul 2025 11:03:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1752516180; x=1753120980; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=O6E+Nzc/K3p/4FxVNjQXCo2R2Lfp11YKUIbLXFvX0bo=; b=D5kv81yKWSil66StRXhb0DJLybiOHuyTyNl1m6nxPYPmD8A7vLmwiMTk9kzWXkeT5Y EEH+G3v6fVdC4c7EvkLPTGTKcHSZ4ih6pw0kh8boGamQAHR/Y7Qqzp38MDb1INZrio1Y pV6mVnos4byfOW8vBJ5guaENNoISBTc5Xiqbt5OUFO1m6935ZUyierlF+6Q9v4qxxVb8 5Hc4g+fvk2xjWKkpeuMuRZrN4Xtydhlvm1Jlv4BUSNjIMVGWU4QR7bGnVtNsTDgtg3w/ kF+5MNdoKLEsoV+HQ8+oF740JhpBU/wEgnZ/t1iLuVOnEbbgl/0dqTY8J//YfWJp9A89 /nUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752516180; x=1753120980; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=O6E+Nzc/K3p/4FxVNjQXCo2R2Lfp11YKUIbLXFvX0bo=; b=QgEt5alQb8RUJnjANl0hwc/ngA4IB6hOToKICYGCUmkj0SuNI4VovoDGet1MXHTfZO 2v3mTlX+fu5FiN81wQGYsRHUUOlfGAn5ieDjnT0AOtdHD8dGJVvCLhm/yIficpJExClb rrV8fmmt+Dzz3ANyAAZkl4QTHpL6VRfyQ/yvgqGS+41zBsVNntCBKfHVuVE/kzSLlTFY f+vc1SpJgiVR0V0AMRe/whxCXlkvUIluWRhgCkn3p/0FJUcNhJJ4naYtNUHzubvN+r0k /oN6wx1NvNu1Jd8UywNlcdT/zjFjUjv23YrL/SmMYQqzbD1apgkjBj41Dj1fx1jAsE1Q y6jA== X-Forwarded-Encrypted: i=1; AJvYcCW12s9jzrVcJ6ddky+jJ71sPyJHL210Qib56ksYauTq4pulPBBWwKs+BMUAarCbo0cPNTw8dUo0/w==@kvack.org X-Gm-Message-State: AOJu0Yw/ZHva/pPv856HJo3otQFhFLiN8C0UjwsXymePgLYzppW83etR rCdvRwjKCUAapOfrkxsBGL+0Vjcptj8OIJIb5vxMUGCw6FavT89bHAKfmBo1oFJng4hALfLVi0S lO8CS3b/7T7tMqEckNO2y5sNkcykdFsh/oZOFTHEI X-Gm-Gg: ASbGncsWb7DL7POspo0BO71OMnwph+k5uYdF3b4oL+YBSIvBgqa4TnF3mTtuRLjJcTe HUnZz+jpb5MomjQEXz9IysjGfmeWQiA2ctqne6YFweOyfH73w4Pkvc2YO84jn13GZtlUKJqvwTp gSmZInuDw57PuoVmEl9BVPzDvNnNa98dTkxjr0Ysf7HyCOEAfXiR8CyTNF587X7UEkJP0E7ftNv ppWehdGbKF5SLGtkqSZ3lp49MyHt5PWOPwLbWNE4l212EE0 X-Google-Smtp-Source: AGHT+IG7PqofdZIi6yyWYFtnJ1dgVAahvuF6PnKF2gEfcQ1LCBFisX0Vuf5x7Rorv4erCoSRhDGF4a/Rpp1v19w9Q10= X-Received: by 2002:a17:903:2b0b:b0:23c:863d:2989 with SMTP id d9443c01a7336-23dede2cc82mr209125765ad.3.1752516179303; Mon, 14 Jul 2025 11:02:59 -0700 (PDT) MIME-Version: 1.0 References: <20250714143613.42184-1-daniel.sedlak@cdn77.com> <20250714143613.42184-3-daniel.sedlak@cdn77.com> In-Reply-To: <20250714143613.42184-3-daniel.sedlak@cdn77.com> From: Kuniyuki Iwashima Date: Mon, 14 Jul 2025 11:02:48 -0700 X-Gm-Features: Ac12FXz9MdgoMJI07wN-4_mDJf6QjZu83kf2eiskVdklZE-t6ycrn9vI5oAn9u4 Message-ID: Subject: Re: [PATCH v2 net-next 2/2] mm/vmpressure: add tracepoint for socket pressure detection To: Daniel Sedlak Cc: "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , Jonathan Corbet , Neal Cardwell , David Ahern , Andrew Morton , Shakeel Butt , Yosry Ahmed , linux-mm@kvack.org, netdev@vger.kernel.org, Matyas Hurtik , Daniel Sedlak Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: D6DA3180011 X-Stat-Signature: 6xaocfs91yjs9u3bw15pdz8ugzxu1wst X-Rspamd-Server: rspam02 X-Rspam-User: X-HE-Tag: 1752516180-147065 X-HE-Meta: U2FsdGVkX1/q3GEfkogRs7tAkLi+cKjUFuK1hy1i5DL+meoVz8OGbKXmg82L5gbuQJZV+Qh/hSg/jXIk2X7m+eyri3cgzXjy+2bhlL/usBqXO3plcbJd80POMBjjhPe2Hx/h78hKZCY1mWCnMjP+R+0FTVaBMWKheRF67b3Mq/5EzTfpzRcNlYsgngd+U918wcYusAeC8jTiDgBB6toWfz/yw9olFqR5QBYbAkuoBZAykwaSHpE2rXh88ElpEECxQynvgWadD/VXe1RU9bHGrg31bADenIOm4lvHMO0eL+LxE38Tzj/5acJq4Ls0UOQ6t9NYEhqFCVr+QV4JKZcYHGs3r7Osw96Yu3OAkuHNH5HOpgFUHqsXos2LO1tXX6Guxcp6tXE35oMnmtOgtz/fE2U5AHKE1CmTp3s636K07MB6vPZGKIqUFcD6QoyxwEtz1ZoutRsnnyNDj5F4WH1vpKjsTBZXPYZ8/2fECEyX2/VLzQ6R24bFskWoCpF6/2zyBlfCgO1VXBL37Ickoh2V/HPXiuH3ACj/iwhm+hS78rQK37k3DBcU32ZyxRf/cKqgdUhsP7I4oI84rszLt0AziQZe5ZgMMBscKG9SjW3f2Rw1MlEx2lK1wJtItCGRfYbjUJjBrpZIrI7A7le1RnimXGrzNoOjPU254xucCQFJkcVrXnEilaxAGysbHyipaNOFz6tUnPwJtddzJXg1Dvy4tV+mEExf/uqiuti0zt1bfmLdnCCOgqy+Qk4/6g7ietCn+4CNTZ3m/GOTxjGLgsp6M+XbZxpJD7fMwS8geP7Y5iXDX8JL2zDXhRT1DmJUQtjNNwNk8MkTSwG+lj/TWmfmLcISM7jHtZ8oZaiFLSiDWBbN+VwBI6wt54WwdhqTMBRNZ+EmttLbcUH9VbqvHLmHeIX0vjNI5560ZYz+eSSZpPgjQ01cHnwh7rHwLmzb02RDYcQbohzTGAip/Ax+7Ez 2w8bI4/T 3XEOrwO3AsSJBuY44ayJyq4W4an5+0EJ51dwsZzSYZxgXsAn5L6CZQdxz53gp3PFHprCcNXWVyF96vpPrD6NH/4OSTeCXIQmZJHAVV+5rMJm0Q9ZA6Gz5chNIsf0MKls6Hqvi41pS9Fjf6TbWsmLML3PNPE+1O2jYIXQ/02YsAjMyckNInmjU/BwvolX7f8m5e0jZClI0w1A3EGpiLq6OugOHzFPX4rTkLvk1Y5aFGVoDDlxv/nLn712CTQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Mon, Jul 14, 2025 at 7:37=E2=80=AFAM Daniel Sedlak wrote: > > From: Matyas Hurtik > > When the vmpressure function marks all sockets within a particular > cgroup as under pressure, it can silently reduce network throughput > significantly. This socket pressure is not currently signaled in any way > to the users, and it is difficult to detect which cgroup is under socket > pressure. > > This patch adds a new tracepoint that is called when a cgroup is under > socket pressure. > > Signed-off-by: Matyas Hurtik > Co-developed-by: Daniel Sedlak > Signed-off-by: Daniel Sedlak > --- > include/trace/events/memcg.h | 25 +++++++++++++++++++++++++ > mm/vmpressure.c | 3 +++ > 2 files changed, 28 insertions(+) > > diff --git a/include/trace/events/memcg.h b/include/trace/events/memcg.h > index dfe2f51019b4..19a51db73913 100644 > --- a/include/trace/events/memcg.h > +++ b/include/trace/events/memcg.h > @@ -100,6 +100,31 @@ TRACE_EVENT(memcg_flush_stats, > __entry->force, __entry->needs_flush) > ); > > +TRACE_EVENT(memcg_socket_under_pressure, > + > + TP_PROTO(const struct mem_cgroup *memcg, unsigned long scanned, > + unsigned long reclaimed), > + > + TP_ARGS(memcg, scanned, reclaimed), > + > + TP_STRUCT__entry( > + __field(u64, id) > + __field(unsigned long, scanned) > + __field(unsigned long, reclaimed) > + ), > + > + TP_fast_assign( > + __entry->id =3D cgroup_id(memcg->css.cgroup); > + __entry->scanned =3D scanned; > + __entry->reclaimed =3D reclaimed; > + ), > + > + TP_printk("memcg_id=3D%llu scanned=3D%lu reclaimed=3D%lu", > + __entry->id, Maybe a noob question: How can we translate the memcg ID to the /sys/fs/cgroup/... path ? It would be nice to place this patch first and the description of patch 2 has how to use the new stat with this tracepoint. > + __entry->scanned, > + __entry->reclaimed) > +); > + > #endif /* _TRACE_MEMCG_H */ > > /* This part must be outside protection */ > diff --git a/mm/vmpressure.c b/mm/vmpressure.c > index bd5183dfd879..aa9583066731 100644 > --- a/mm/vmpressure.c > +++ b/mm/vmpressure.c > @@ -21,6 +21,8 @@ > #include > #include > > +#include > + > /* > * The window size (vmpressure_win) is the number of scanned pages befor= e > * we try to analyze scanned/reclaimed ratio. So the window is used as a > @@ -317,6 +319,7 @@ void vmpressure(gfp_t gfp, struct mem_cgroup *memcg, = bool tree, > * pressure events can occur. > */ > WRITE_ONCE(memcg->socket_pressure, jiffies + HZ); > + trace_memcg_socket_under_pressure(memcg, scanned,= reclaimed); This is triggered only when we enter the memory pressure state and not when we leave the state, right ? Is it possible to issue such an event ? > } > } > } > -- > 2.39.5 >