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 825D4D5B865 for ; Tue, 29 Oct 2024 02:45:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F0D1E8D0006; Mon, 28 Oct 2024 22:45:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id EBBC78D0003; Mon, 28 Oct 2024 22:45:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D38598D0006; Mon, 28 Oct 2024 22:45:05 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id AE97A8D0003 for ; Mon, 28 Oct 2024 22:45:05 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 23002A0AA5 for ; Tue, 29 Oct 2024 02:45:05 +0000 (UTC) X-FDA: 82725096678.08.2613B42 Received: from mail-qv1-f42.google.com (mail-qv1-f42.google.com [209.85.219.42]) by imf02.hostedemail.com (Postfix) with ESMTP id B81D080009 for ; Tue, 29 Oct 2024 02:44:17 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=aNyLrNNV; spf=pass (imf02.hostedemail.com: domain of yosryahmed@google.com designates 209.85.219.42 as permitted sender) smtp.mailfrom=yosryahmed@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=1730169692; 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=uEFOlJ3Dcj7i1Bu5K/HHn2QPSZuGacR1Km4lfVuIo74=; b=Ug70USNYNCTKbe1klGpyHOlHBtv1zR/heOx0zOW8eellY3WdE6pk907FFxtEcD4PhrLJ8K tcDBrE4C0uMoIvdJ5a9bSPbXpumQqBbqiefUFBqqzvGeaGwAhGoXgR+MYfAaQyHtzhS04F QsL6CshWT7q3iJP6m+xeIOJyCVASTKg= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=aNyLrNNV; spf=pass (imf02.hostedemail.com: domain of yosryahmed@google.com designates 209.85.219.42 as permitted sender) smtp.mailfrom=yosryahmed@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1730169692; a=rsa-sha256; cv=none; b=F3Sy9yIfteo0TaCd9zvzTyGpXQxAk5m3WNI5bP1mB1IW31RwFU4V6gv4oFb55xpTpuXe9b pzzRgWf3mDAjQSkbjbFjoYTQLmghvY/g/xdqJFhS2XW8waOQ8vnnNp/uIABxlL0+Q+Djkb sWJN+2HWAaI7f4qEusZzbczuG0IYGIE= Received: by mail-qv1-f42.google.com with SMTP id 6a1803df08f44-6cbe53a68b5so36335956d6.1 for ; Mon, 28 Oct 2024 19:45:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1730169902; x=1730774702; 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=uEFOlJ3Dcj7i1Bu5K/HHn2QPSZuGacR1Km4lfVuIo74=; b=aNyLrNNVLVFtYZE71Kn0ZC/ZG9wlnIvHnlKxRHTOqpO1TybLKIOIqrbXf+M297XBWt cJvL7OulOCH4zWeq53jvEVqpvcRA7k44BkmZifhvet2Q38W7jC7aJA9q+DYVf+kMxdfS ogk78/1bjL0mQ6yZ75t0WWbGSI/lJmFhde0iVwjmp3Hitc/GSKZcPi0UO8vKT6dl9rGN UtZyZABi094qCH5rkZJ+7JE8HYPYPopjbcgadu7khP5qUNCXlc8Xo31RNIE1Ad9M2Ocr bkX/O9mOz7oglt+a3RToHauB8bTPNrV+SxE0j1xPNcMMbWOwjbc1Jdyc4ljsjepy23Oq 2ZZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730169902; x=1730774702; 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=uEFOlJ3Dcj7i1Bu5K/HHn2QPSZuGacR1Km4lfVuIo74=; b=D196b++1K5jLSsYSKon2UuEdZS0Ha7gFAmDr1FsLQZyh5Cj4XU31uXxHgyUR6RZqPI 7s+5SZH3+5q6+JZrYKrfLXCV+jvcnE9d2u5a37HyTP/6Kz75DghT0WwcJ1vQTMQk2apk yA4BRmz9VqhgFIRk1rRftmwDnPp8TMgAS73+q7oLJt9SUKpHwNV17QeRs0P5TbNLM5w0 N/HNLUWG+UBSP7QEo/oi/SLcfiV7RrCRKFBSU0WWTywP9z2mE3WGFRSU2coBAUlmJ8l9 +9j4vlLmTCVkocBvi2OiW8FtuSubvpptFxd49KBYR5sRkEjSWZCkbWeudEyIEfTZEVaM aUBw== X-Forwarded-Encrypted: i=1; AJvYcCUKXqipARCN1YPalQ0mWUsAoFEqMmqQK5bkNZiVFV5pnxVmMvfR65w1Nirkb5sHFczxtNbNCShjFg==@kvack.org X-Gm-Message-State: AOJu0YyPJUXHt8VceSSXWY389MyVWCB+vb1eKr4oWLnvvJ0qW60dtjds w4HJ3R0IQ/74zX4ezYspTeMerH0JQcmUjLpyrjMfwTt6ZmbCMf5tFVs8MxwtlwO6D3NEMC1loQM G8D7KMhPp1CM5QtuQQl6laP5N9uHQ/i6hu9eZ X-Google-Smtp-Source: AGHT+IHTw+1l4kal7Bv7qZ7wvC2+kvhvsc/LAHM0Zuw4nFe9XqKPu/1wDnPR1J6Mf9j/jTHeIvYP9hl/h3LgMVKFAVE= X-Received: by 2002:a05:6214:31a0:b0:6cb:27e6:393f with SMTP id 6a1803df08f44-6d18587e82bmr157493876d6.36.1730169902229; Mon, 28 Oct 2024 19:45:02 -0700 (PDT) MIME-Version: 1.0 References: <20241029021106.25587-1-inwardvessel@gmail.com> <20241029021106.25587-3-inwardvessel@gmail.com> In-Reply-To: <20241029021106.25587-3-inwardvessel@gmail.com> From: Yosry Ahmed Date: Mon, 28 Oct 2024 19:44:25 -0700 Message-ID: Subject: Re: [PATCH 2/2 v3] memcg: add flush tracepoint To: JP Kobryn Cc: shakeel.butt@linux.dev, hannes@cmpxchg.org, akpm@linux-foundation.org, rostedt@goodmis.org, linux-mm@kvack.org, cgroups@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: B81D080009 X-Stat-Signature: 8pfbctcb4u8xg33a65uys1rjc7aeciin X-Rspam-User: X-HE-Tag: 1730169857-801408 X-HE-Meta: U2FsdGVkX1/QLIufJVXAU5FyHhBOaPzM7mfmn9hameXfiF98T5GK/D1aUVgZT1OJibcJ5ozwvgTcfWytBu4il6VVvA2PNE38TItiTbOA1r25Pc+9xp2cgwr/Vek+GAlL7H8Kq12doIOgq62YfaeN/01To9u67l6qvBUl/gK/kfhTB5tRUXodJRlHIkWrNl/5mOMt2eHA/VebKwa9dKjjZxXsRtbvOs0C/E7SgEeo1SuQ6NQNdK1qdGYXhPkJJjHnrC3dFqt7GtESHz7IEru5fu6zSIE1XeghJQD0jVlWUW/Oh/f6jEHdhr7D6E7Sf0Er4ct725N5b3Eia1UVnM3SHeyByRcBBwcVGobLGm4Y73DCdDITRuzZWtNzRqWJ2pDyKzkcJr0U0TI5GPFfWWJ01eu+lijXAVhhJm4cozlv8OPI6O2EjPcHLZPBLBlhQ7sOoHxUGeLQizmzhvfHdHnPRb3A4pSKQCLKVxGkIxRL5LyPLZIGOH6YAtvzMEGEwtTUJjQx4lTQpY4b+yQBTbr2PgDZIS6/I+D1h0gGgSXRzclGOvUz8Q56nrQTVh7YEJeGMs0jAb9iS/93sGeQxqJvb+QLlBsdr8dQxc8BoQEeXqpYA75KAr2LLj82big7YGC7Ei4UzsF3fMGOIbKJWnJ9wdKrUlKc1x4EJGcUmG9nhEExMa2xodauOtw9HiKcGOJN6q7QUPXhjbGW8peumLbiGkJ4xaK9yFnHGR2rdp2EQxjDC9Sfwf8mU1rPr89jBUDxDM2gMbQQCsw4wYPw5sEIBJcm8aRi6QT5c32vU4cPxZYRVJeZsqvf1sljyYfUpqGy4R8LkOxB0kAMOclMYRjCx8wMri7EgwkaUWkKojUO/tHNiRHAhHyCWhEWE9GKzDMZNhPMUa5mHdnfZjTAEC9yxb//ogqxPZnPErM+G4RM8ZxHSJwclIoxyGde8v6KlAxKQQQpYWVzl7AnqmsJn5q yjgf7MeI ApfTYP9hGUsiZJS0HWO2p1JzFVIWGQ9XBLI5EqcuKEPMJV11tn1zovOGEaTQ1PR5FT5VjojVdU0B9Wl5qavGdRg/lvfvxRYZ7jkdQvqamLMTzNeaOM4MMM+8GM4CYuGt3BECRQ/jA7/iqlJ2Xrhc+/1WyZ6H5Wp4ylat1lUw3cCeTGIcG/6sf7QvkAmt+MiHwvzi6yqd9BlJUGg15HpgS00nI4XiYPtcUDak4cQpT29CR8y8= X-Bogosity: Ham, tests=bogofilter, spamicity=0.040725, 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, Oct 28, 2024 at 7:11=E2=80=AFPM JP Kobryn = wrote: > > This tracepoint gives visibility on how often the flushing of memcg stats > occurs and contains info on whether it was forced, skipped, and the value= of > stats updated. It can help with understanding how readers are affected by > having to perform the flush, and the effectiveness of the flush by inspec= ting > the number of stats updated. Paired with the recently added tracepoints f= or > tracing rstat updates, it can also help show correlation where stats exce= ed > thresholds frequently. > > Signed-off-by: JP Kobryn Reviewed-by: Yosry Ahmed > --- > include/trace/events/memcg.h | 25 +++++++++++++++++++++++++ > mm/memcontrol.c | 7 ++++++- > 2 files changed, 31 insertions(+), 1 deletion(-) > > diff --git a/include/trace/events/memcg.h b/include/trace/events/memcg.h > index 8667e57816d2..dfe2f51019b4 100644 > --- a/include/trace/events/memcg.h > +++ b/include/trace/events/memcg.h > @@ -74,6 +74,31 @@ DEFINE_EVENT(memcg_rstat_events, count_memcg_events, > TP_ARGS(memcg, item, val) > ); > > +TRACE_EVENT(memcg_flush_stats, > + > + TP_PROTO(struct mem_cgroup *memcg, s64 stats_updates, > + bool force, bool needs_flush), > + > + TP_ARGS(memcg, stats_updates, force, needs_flush), > + > + TP_STRUCT__entry( > + __field(u64, id) > + __field(s64, stats_updates) > + __field(bool, force) > + __field(bool, needs_flush) > + ), > + > + TP_fast_assign( > + __entry->id =3D cgroup_id(memcg->css.cgroup); > + __entry->stats_updates =3D stats_updates; > + __entry->force =3D force; > + __entry->needs_flush =3D needs_flush; > + ), > + > + TP_printk("memcg_id=3D%llu stats_updates=3D%lld force=3D%d needs_= flush=3D%d", > + __entry->id, __entry->stats_updates, > + __entry->force, __entry->needs_flush) > +); > > #endif /* _TRACE_MEMCG_H */ > > diff --git a/mm/memcontrol.c b/mm/memcontrol.c > index 59f6f247fc13..c3d6163aaa1c 100644 > --- a/mm/memcontrol.c > +++ b/mm/memcontrol.c > @@ -590,7 +590,12 @@ static inline void memcg_rstat_updated(struct mem_cg= roup *memcg, int val) > > static void __mem_cgroup_flush_stats(struct mem_cgroup *memcg, bool forc= e) > { > - if (!force && !memcg_vmstats_needs_flush(memcg->vmstats)) > + bool needs_flush =3D memcg_vmstats_needs_flush(memcg->vmstats); > + > + trace_memcg_flush_stats(memcg, atomic64_read(&memcg->vmstats->sta= ts_updates), > + force, needs_flush); > + > + if (!force && !needs_flush) > return; > > if (mem_cgroup_is_root(memcg)) > -- > 2.47.0 >