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 B5FA7CEDDA9 for ; Thu, 10 Oct 2024 01:25:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 321DB6B0082; Wed, 9 Oct 2024 21:25:37 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2AAAB6B0083; Wed, 9 Oct 2024 21:25:37 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 14BC56B0085; Wed, 9 Oct 2024 21:25:37 -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 E85186B0082 for ; Wed, 9 Oct 2024 21:25:36 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id BCB72ACE6B for ; Thu, 10 Oct 2024 01:25:30 +0000 (UTC) X-FDA: 82655950272.26.8D1BF46 Received: from mail-ej1-f53.google.com (mail-ej1-f53.google.com [209.85.218.53]) by imf14.hostedemail.com (Postfix) with ESMTP id C8B14100003 for ; Thu, 10 Oct 2024 01:25:33 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=z1sahGqJ; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf14.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.53 as permitted sender) smtp.mailfrom=yosryahmed@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1728523434; a=rsa-sha256; cv=none; b=3i6t6kFi0HFwNBRhV6ovMqCloT2YU5IRq4ggIz3wWkraeDPCt+JVkGca2JOPHyKnHIdOwK /h6uSlxyfYnrghNHVHFuCnlQaYAVOa+iKaPZgOP/GGSwpJjsNYZN+Di5iSyOJul1INyHss vw9FbEDiBQVqhy7nwWRHA+nga4EpXh0= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=z1sahGqJ; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf14.hostedemail.com: domain of yosryahmed@google.com designates 209.85.218.53 as permitted sender) smtp.mailfrom=yosryahmed@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1728523434; 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=NKiguFOTd+v0Vef2ZB60THjvJjwTWlwVlkRcn5vfUYQ=; b=WR3q8JJxVdA3GJvkQLceodc7d6HVkmBrB67xW9sy+gmLflL90nmXCQq5axvWnk/WLFaWPx VgE18Ymo6XFY43HIIJltvqNhF9n0UQ/l6yE+dXTFI+5hXpbqti/gxvo0YvxFIU19owupJ0 ZXEFTfTjnvd6ESbJz2hcZbRo1GxiW94= Received: by mail-ej1-f53.google.com with SMTP id a640c23a62f3a-a99415adecaso266130766b.0 for ; Wed, 09 Oct 2024 18:25:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1728523533; x=1729128333; 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=NKiguFOTd+v0Vef2ZB60THjvJjwTWlwVlkRcn5vfUYQ=; b=z1sahGqJalR2Vn3EAx2ROnz5AblTC4bUwA5r4NqJNoCGlWQzTCtdZQ1xCDUr4SVxQo RrbZSGVieJAW/XmQDzCVFQ91uTNqMUaXCEZuhlORQB9qf77cH2lqEO6Wro+GM0UIjWUL AT9l1mF/opkLGL50Fhw8XisxM8iFjE3bYLJAxpKzXAioL49LNDzcKfmGviCOLsHVvPLW pKKmMbWlZNR/yP8bW+CHcFUfw7jNhdnWtL0S8VivARBc5dIZyIzn2Nm7eFxZIY5ZLUMb 1FA9KX5J5xKzKTMTeM0dPsXcCTQrYNgVGkSdukp/KZVwlI7OHM/ZnKoUoU5ywXN/mRIJ 9Wgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1728523533; x=1729128333; 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=NKiguFOTd+v0Vef2ZB60THjvJjwTWlwVlkRcn5vfUYQ=; b=wlDZvCkNGDDjNBiR1EJWqGafcGCx3kizl9OPOfgmPR7BpGZJbK3YTzMowGNiU3UUGA iZ+926e4APFxghlpJOIYKWdDHsejTE1Lai9SPgNv8rn4SulP5aZkav6m0rR+Ur5YvpNQ lIfH3sy0zNkEeQGlvBWPQj83KONQ/8xoC8+F6Sy7/pzJsBd16pQiHD6oVq4XMcUE5BBl bdHJXEmxG4an/Skotwplb5Wk8mwXQLZdZl4Gmawlfp70AUZWTVg1e06ninuFAqU8ahOG oCgs2oJuOULKO9npSNNeRohxzToqb65xsxYCSzmFdTTKKjFXXMtSr171clBdZFcouGRv cmVQ== X-Forwarded-Encrypted: i=1; AJvYcCWWD+3zTV67p9PB3MTvfIhjf+Bz2c24Q0XZhLVG/yrAP7kGqMnq68KuyVU/a50wG20sS6RhZ6Vzsg==@kvack.org X-Gm-Message-State: AOJu0YyU6XXiy2HrVIjCNYqPkfUFxGrddhFdfBCyVm2GMD2G9/IYAZFj FatxWO0jtH6wFPv9x6xlLSpHlPD7r15izBEIPszga5uRitVbL7YsCz32W4pvqDvK0i9/FqSZ8Yi NXWsANdpT53eA3HNm+s80TxdNyNFa4e7SUrLr X-Google-Smtp-Source: AGHT+IG4B4hCqT4olRaXnT6JjYypmFyqCTl3wuaDHSO5u227fmToHL+A50GmEahWB/h8P3+FEgzbPANmN6ZbuUM6E3Q= X-Received: by 2002:a17:907:60ce:b0:a99:4c71:704 with SMTP id a640c23a62f3a-a99a11192a1mr118207166b.26.1728523532881; Wed, 09 Oct 2024 18:25:32 -0700 (PDT) MIME-Version: 1.0 References: <20241010003550.3695245-1-shakeel.butt@linux.dev> <20241009210848.43adb0c3@gandalf.local.home> In-Reply-To: <20241009210848.43adb0c3@gandalf.local.home> From: Yosry Ahmed Date: Wed, 9 Oct 2024 18:24:55 -0700 Message-ID: Subject: Re: [PATCH] memcg: add tracing for memcg stat updates To: Steven Rostedt Cc: Shakeel Butt , Andrew Morton , Johannes Weiner , Michal Hocko , Roman Gushchin , Muchun Song , JP Kobryn , linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, Meta kernel team Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: C8B14100003 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: 3gs8jzfwrcgbcpdhbm4pgqmdg17i7en9 X-HE-Tag: 1728523533-247763 X-HE-Meta: U2FsdGVkX19k1OHGvMTwqp+FJ+yuQz03K4NgUmjD1hEcp8TE5/MfahgIMkMJih71ANf9Hrc0SSg7j+TdejCy+x+kKgiN5G29aoEKBB7Xwr4Oc0cGhHMX78PdM9+I4EdFD3SNU+l7ZPSSFy3cdwK7AfarSwvpz93pe3H2EVUII1i/bEr3nk7FQkfNRWHjUzed3Fc7fCXMsLMY0kgkcoeEHxfhN7h+8Kp6oexp3bsDb8gTi2jR4vyMwOYTIk/NzLrUz38fGjlDfNNDy1N6zvvVwT2QvTwwMT64a2JqnJ+wTV0+3mSjAl3+llf85aBlkG1vU5wtx5TDF4tGh4jPaP1WcInvohBlGiS9Ibaj29t8oSjNJX6xVft+FiLYOds6hRx7V/uKSccN7zpqSeq1bX9PIBM/r6ynC+8KiMRoBpKI+wn0DI07AcSAG/C8sSABFeXfwTe8kaP7RDS8u7V2HEvfiwIhYFrhWCj4WPI72Hun7+WXt3ltb/MCA+MEj9+4IKz0yDadde91ELxmsup53cjiX64HbvHBhcJYpsCcvrgzkZskZ7bhT0EBev5DROY9kUp+RRkyJXdng/a6UQCOG1URnLV4DTmTOrLffBVmzrzu7xMXybByKQUnat04qTNBH5VWn42Fm0zRGTp5SHu3iKS6OyKYkHAI/MySRgkxTy8B/T3OOCvEhOUQ5FwBT+W4UUKPZflPSjFya6q2B+6sSKqTg8H4CBvKsE/2MmhngxKqo4dDHZkc2rmoOhM9ufe1AmV2sCl9/WN80iN6lEtVxPIfP6jj/RXVqdJefuetoqvFUwD4JAE8JFnT45getc2T6x0ONde8VBNXeCl+Ije+RpGmUvMk4YVU9ehgp/uaC+5qhdyKbcWD4p0Nkx8cusO17pFOmt0hIr+8uHS41W7zj8oC0/ElyvXNFkQMCrk1r2De1+5YSso9FQ236kT2gjWJ+zkUXJTpsF5xZxo5tF1pF8r 6IYqqoN4 S9y1n1MZwUSt5dGPjjbCYrbakk2GuCLm/QFOFYWdFmRrFv71ywQCxC0yU/41/8+umnBvMPZmA5jCpjR/gVuEAka8CBaLnzPE1pMAaIUQToKS7DyalWLS8G4UzEhS/Txmrk11EsW1FnvJ3IfcF/T1uswOVnN8QJcAq0KKo/VO2sqFUbSu8lxnDatE27mz4cMeEtem6Y7EDWj1xilV7LKbXZTDvosMQGKVNkkHIZpsOcng22MbknaZhQ7XvL+N487MNF5vZ+SXwlRr85sQ0HxEIyWOQPw== 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 Wed, Oct 9, 2024 at 6:08=E2=80=AFPM Steven Rostedt = wrote: > > On Wed, 9 Oct 2024 17:46:22 -0700 > Yosry Ahmed wrote: > > > > +++ b/mm/memcontrol.c > > > @@ -71,6 +71,10 @@ > > > > > > #include > > > > > > +#define CREATE_TRACE_POINTS > > > +#include > > > +#undef CREATE_TRACE_POINTS > > > + > > > #include > > > > > > struct cgroup_subsys memory_cgrp_subsys __read_mostly; > > > @@ -682,7 +686,9 @@ void __mod_memcg_state(struct mem_cgroup *memcg, = enum memcg_stat_item idx, > > > return; > > > > > > __this_cpu_add(memcg->vmstats_percpu->state[i], val); > > > - memcg_rstat_updated(memcg, memcg_state_val_in_pages(idx, val)= ); > > > + val =3D memcg_state_val_in_pages(idx, val); > > > + memcg_rstat_updated(memcg, val); > > > + trace_mod_memcg_state(memcg, idx, val); > > > > Is it too unreasonable to include the stat name? > > > > The index has to be correlated with the kernel config and perhaps even > > version. It's not a big deal, but if performance is not a concern when > > tracing is enabled anyway, maybe we can lookup the name here (or in > > TP_fast_assign()). > > What name? Is it looked up from idx? If so, you can do it on the reading = of > the trace event where performance is not an issue. See the __print_symbol= ic() > and friends in samples/trace_events/trace-events-sample.h Yeah they can be found using idx. Thanks for referring us to __print_symbolic(), I suppose for this to work we need to construct an array of {idx, name}. I think we can replace the existing memory_stats and memcg1_stats/memcg1_stat_names arrays with something that we can reuse for tracing, so we wouldn't need to consume extra space. Shakeel, what do you think?