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 BE9B2C4332F for ; Wed, 1 Nov 2023 17:08:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5057B8D004F; Wed, 1 Nov 2023 13:08:51 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4B4648D0001; Wed, 1 Nov 2023 13:08:51 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 37C068D004F; Wed, 1 Nov 2023 13:08:51 -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 21D408D0001 for ; Wed, 1 Nov 2023 13:08:51 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id ED8EF16023A for ; Wed, 1 Nov 2023 17:08:50 +0000 (UTC) X-FDA: 81410020020.09.9325922 Received: from mail-ed1-f47.google.com (mail-ed1-f47.google.com [209.85.208.47]) by imf20.hostedemail.com (Postfix) with ESMTP id 9B9BA1C001E for ; Wed, 1 Nov 2023 17:08:47 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=iEkHJlf1; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf20.hostedemail.com: domain of andrii.nakryiko@gmail.com designates 209.85.208.47 as permitted sender) smtp.mailfrom=andrii.nakryiko@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1698858527; 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=VxqC4haUmO6O6zFKwa2JDemqA1Zr0ZXCW08zDQAdl+M=; b=WtY8/YJg8k13NNhTNybANSzJb2GbqfYAtyRfuh5Fn3kepbSMrrua56ZnLa1bYg4GL36EoT K+IMltnwVxLWYYtFGwYdkJpV5+0TTG3Z8yEATtGvtzIDyVV1e2QjPDCdGyuIxmtIyanW1i /vAyCBb+tuk/coGnitnq1tLrKFtdOo8= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=iEkHJlf1; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf20.hostedemail.com: domain of andrii.nakryiko@gmail.com designates 209.85.208.47 as permitted sender) smtp.mailfrom=andrii.nakryiko@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1698858527; a=rsa-sha256; cv=none; b=pQrbk6Rahgx0Z9XWkKWOlPVpKEsTJVDGUN+GNVauxtdDr9NL2WVe8ACHBi7k3n76Hk8xcT 5Q4J1QikJCOUgmVeahQNPiG8QxzXf1Z5ORY08/c/WG311jnSv/KyG4y227hbJerMs2kDuN eN2upNsHRGWWvLUelJU1bKNxcHANWZA= Received: by mail-ed1-f47.google.com with SMTP id 4fb4d7f45d1cf-53e3b8f906fso11641024a12.2 for ; Wed, 01 Nov 2023 10:08:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1698858526; x=1699463326; 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=VxqC4haUmO6O6zFKwa2JDemqA1Zr0ZXCW08zDQAdl+M=; b=iEkHJlf1VBbaqaCIDp3i4l+A7g56IXBaICoiolUtfWmFM1ocVlNZ1rwAZVwG7uA6jt xiU/8uw5AVwAwKV1Vm9jamqhwUf4xGWBrn/ZywMh+G1jNavVBCRyICtYyXOAkK1JJrx9 J3ZCPgkcZqq9sNvXRmjUNILpawINNp5HLY4hUEiqfcWGBSEmSOEjMFPyZaZEyyl342a9 gA21uusj2F8OALSNbo3TBF3q4tIb3sj85E5jqSxbmYJCNGSaudN1v3n2kFR9VOzPrdv+ kWHuDbyc08TuEgXTD4z2GEBCf0NmXX3bNtrGL4ztjPlDLiPVSxy69UMit6Xs2VQckAfi t6sA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698858526; x=1699463326; 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=VxqC4haUmO6O6zFKwa2JDemqA1Zr0ZXCW08zDQAdl+M=; b=XhJepR9Je8kV6DYY48cDqVm2yrrYTi5yMJtzfHWzqhTXxT8pNJjbztDQAsbkEXI0fQ ljXR2HvilOHi9UIp/YCBaVUtX0HoSfM+pvvr3QNXGUQ7I5guhDnwiwBe3E0spqmZ45U+ H3yWawJcOcQaobseGOqtJ6Bvr3H1vrEpT/Skv3ArK9hgvsAolXl4R4UHiVU+AH+fagAp XFDJVoT7lAy8rsg3Gok9ApOpqqryhDlmhIWGYNXtKT23OqFlGfpUCgKoUu0fNjlBGDht C7ZPugkkTrQTT1BE8ChutEmup/5mZ8kz9zX8FNYWsFXZ1u3KOeS9F4ZcHmtb7SqquJNe P2hA== X-Gm-Message-State: AOJu0YwGIei22zrE5kqf36vciVbPQNklimwQSB53dwKEUMnrjvGyHjLA MsR1S7+1xMl/OA8qhu4udIqelcqih6c5GBK+bGM= X-Google-Smtp-Source: AGHT+IHh/xoThtkS3jWPmHaVPIYaN0JAsAKsui3AVMwsCTMgS9HAdTpsiYFJj2naIUWjXdqCl0SM1zRBe0PN5df0Omk= X-Received: by 2002:a17:906:dc93:b0:9c7:3611:9e7c with SMTP id cs19-20020a170906dc9300b009c736119e7cmr2502264ejc.61.1698858525799; Wed, 01 Nov 2023 10:08:45 -0700 (PDT) MIME-Version: 1.0 References: <20231101102837.25205-1-ddrokosov@salutedevices.com> <20231101102837.25205-2-ddrokosov@salutedevices.com> In-Reply-To: <20231101102837.25205-2-ddrokosov@salutedevices.com> From: Andrii Nakryiko Date: Wed, 1 Nov 2023 10:08:34 -0700 Message-ID: Subject: Re: [PATCH v1 1/2] mm: memcg: print out cgroup name in the memcg tracepoints To: Dmitry Rokosov Cc: rostedt@goodmis.org, mhiramat@kernel.org, hannes@cmpxchg.org, mhocko@kernel.org, roman.gushchin@linux.dev, shakeelb@google.com, muchun.song@linux.dev, akpm@linux-foundation.org, kernel@sberdevices.ru, rockosov@gmail.com, cgroups@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, bpf@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 9B9BA1C001E X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: xy94bnycdq6p65deiqdbots8zrg9oj6k X-HE-Tag: 1698858527-571193 X-HE-Meta: U2FsdGVkX19muM6UhsKBHruch0ZZDma+WH40quAIdd5yJTwz3luwahmDWD8Q+c9w4fmHGQmRh4kBrk8fa/lF6LOGdSqQFH4lvbNbLzuEBfK4reBPKYiQkdtwwEz8H4vZ7KfTz/hXuM36Zp7vTI07ugNsOBvoRsdjik+DJVa+twThr3cYP2fvpbpmpty1m52Kn/FxBz04VlqNQkouAcYP70jU3y/nyzYNwDY21VweQ6Ee8D/5HADBk3FCjeLxBdoHJcLxJeRtEGRUgP9LYR3FAT6q6ReTxM+LlGO9f4UXplb+rNDsy5tcA6Rc+i4YckdShNTgRToNmDvprDgITVxqkMaXWIRwHtOiMvv1CjY0oE1JPu+CqVLHDidqzSlUjc/zIahqsVml+h0hxWDPybsKC6nh5QPb8C/PU27MRg0TlQNQ77/voOL1uWfyJwdUpjRSW9QZhYA+7F0HojHB0svWWhYHvxO7k874ohQIwLbFojcGyGvnuGA6fAIgqQTpSYugx7v287b9zApJMXoLnsV3azTjBXmHkflWVyl2ZR0b0b2ZnOU5wZ2YhGLzXuQ/Ms1XVurd86F0+2YSpcwErh0G5E2p/47EkOZ2EdIc/zHlMbBZCVbR6UH5jSQPtvMEiJNyEL1q4h3DsodLtXtcRo+9w6wwn9vskXDaf2EQSWVsEsx6oFdhjIHE1LhYqnjw++O0D/0eQ0pPbJAm3Oy1gapLhbPJ7AhpAVk733t0rfJy7gHItvRa0j9t4+2hxhxD6UxeVZlFQDjhgJX2DvP8IPfqqscQIIkbbr4dLM6kpsoqcfZD3KKAmB4q+KvHW8IrRoly/nIe5S/UuywinS9rm8yv8OdpfUtjaJRND9xEBAvkEkHgftQr7TT95WDs1+aFGd0e8g6+iqbhQeGY6DAacoyIzH0obJpdwqabY4aEauqqX9doT/FuR43etHUhYvVAU3oW2lhE3IYnGNj8gBkFhtd XEt6ATKM pQyi4CqhTC7ItEetQuVYTYcm94QNfRuXmid1aR4jzqtOfuI6gFla3NE8IB2xzOyMyX/+LSqa4zdezc0LiRUxzQb/dbACJednknEm39Sc2rzKYn8qWp1gyumSCLdvE9C31Qu+MQFji4S3uKkNZSwO8SGuXugVbMb3h5gC9fJ1QTyX46KlkHNT5uTXhs8ZZrzRop1FfL895DMAuncxJZqAwTT0SEPcfUnJiSs2m9xjdi8tSBUUwLk8qsYu+Doka6EJP2bO1TpPfczGmhUcFL8xMLDZtoUS5adGybIjvUlyM2y+TYzd8y9nnT2VkouiD0TY/9BxkYPcUtWUKXOMcOLR7nNekqkW3UN7OI2Q3HwlCNOU9f7/jqDzj96h7Kis1574lM2VYgumnzJLZhsnr1EkOuItqZ0YMoxgIulzoqjXkU1oljeB7aWErdGLYbbd/holdUh3/ 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, Nov 1, 2023 at 3:29=E2=80=AFAM Dmitry Rokosov wrote: > > Sometimes it is necessary to understand in which memcg tracepoint event > occurred. The function cgroup_name() is a useful tool for this purpose. > To integrate cgroup_name() into the existing memcg tracepoints, this > patch introduces a new tracepoint template for the begin() and end() > events, utilizing static __array() to store the cgroup name. > > Signed-off-by: Dmitry Rokosov > --- > include/trace/events/vmscan.h | 77 +++++++++++++++++++++++++++++------ > mm/vmscan.c | 8 ++-- > 2 files changed, 69 insertions(+), 16 deletions(-) > > diff --git a/include/trace/events/vmscan.h b/include/trace/events/vmscan.= h > index d2123dd960d5..124bc22866c8 100644 > --- a/include/trace/events/vmscan.h > +++ b/include/trace/events/vmscan.h > @@ -141,19 +141,47 @@ DEFINE_EVENT(mm_vmscan_direct_reclaim_begin_templat= e, mm_vmscan_direct_reclaim_b > ); > > #ifdef CONFIG_MEMCG > -DEFINE_EVENT(mm_vmscan_direct_reclaim_begin_template, mm_vmscan_memcg_re= claim_begin, > > - TP_PROTO(int order, gfp_t gfp_flags), > +DECLARE_EVENT_CLASS(mm_vmscan_memcg_reclaim_begin_template, > > - TP_ARGS(order, gfp_flags) > + TP_PROTO(const struct mem_cgroup *memcg, int order, gfp_t gfp_fla= gs), > + > + TP_ARGS(memcg, order, gfp_flags), By adding memcg in front of existing tracepoint arguments, you unnecessarily break everyone who currently has some scripts based on this tracepoint. Given there is no reason why memcg has to be the very first argument, it would be nice if you can just append it at the end to make it nicely backwards compatible. Same for other tracepoints below. Tracepoints are not an ABI, but there is also no point in arbitrarily breaking all current scripts for such a trivial reason. > + > + TP_STRUCT__entry( > + __field(int, order) > + __field(unsigned long, gfp_flags) > + __array(char, name, NAME_MAX + 1) > + ), > + > + TP_fast_assign( > + __entry->order =3D order; > + __entry->gfp_flags =3D (__force unsigned long)gfp_flags; > + cgroup_name(memcg->css.cgroup, > + __entry->name, > + sizeof(__entry->name)); > + ), > + > + TP_printk("memcg=3D%s order=3D%d gfp_flags=3D%s", > + __entry->name, > + __entry->order, > + show_gfp_flags(__entry->gfp_flags)) > ); [...]