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 02CA8C4167D for ; Wed, 1 Nov 2023 18:01:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 662A280007; Wed, 1 Nov 2023 14:01:12 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6125490000D; Wed, 1 Nov 2023 14:01:12 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4B31680007; Wed, 1 Nov 2023 14:01:12 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 3966E90000D for ; Wed, 1 Nov 2023 14:01:12 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id EE2761A06BF for ; Wed, 1 Nov 2023 18:01:10 +0000 (UTC) X-FDA: 81410151900.16.9C34BB5 Received: from mx1.sberdevices.ru (mx1.sberdevices.ru [37.18.73.165]) by imf16.hostedemail.com (Postfix) with ESMTP id 41795180060 for ; Wed, 1 Nov 2023 18:01:02 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=salutedevices.com header.s=mail header.b=qM2zxQN2; dmarc=pass (policy=quarantine) header.from=salutedevices.com; spf=pass (imf16.hostedemail.com: domain of ddrokosov@salutedevices.com designates 37.18.73.165 as permitted sender) smtp.mailfrom=ddrokosov@salutedevices.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1698861663; 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=jIzkCOAsxzsZyUPpf4PMSJ8DkN9Rq4L3fIcg/MsOg3Y=; b=OsA0JwUtquGAJz5NdEt7twhkImz/AtjfxFED6IL0vGaAJWVzm54CNAXzjHFtakKwlhwOfJ 0YdKuCkEESBZcyEQu6lu7w8CPOnbs5i0/OlBKdxEURhzTq6QobB5kY8GJJ1O3xMmboe2iO 7gDfp9AYwU22qWXbz70ltO/fajswDH4= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=salutedevices.com header.s=mail header.b=qM2zxQN2; dmarc=pass (policy=quarantine) header.from=salutedevices.com; spf=pass (imf16.hostedemail.com: domain of ddrokosov@salutedevices.com designates 37.18.73.165 as permitted sender) smtp.mailfrom=ddrokosov@salutedevices.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1698861663; a=rsa-sha256; cv=none; b=HcGI8wlSNkzTO3Ua29piOa4E/3x42jb2np3PDdmMSUdmkygK+X4WyoQGNF1XiZuonxW1mR +ooGsD9zLxu7+dYGuGt4nIh/nC0w72rnsLd6vc0qUwPIteHXjbKCqzn0Ztd0RohHeRjsFA YI7aO6LnepWc+E9fUHm2/ipf6ple/z0= Received: from p-infra-ksmg-sc-msk01 (localhost [127.0.0.1]) by mx1.sberdevices.ru (Postfix) with ESMTP id 75CDA10002E; Wed, 1 Nov 2023 21:01:01 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.sberdevices.ru 75CDA10002E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=salutedevices.com; s=mail; t=1698861661; bh=jIzkCOAsxzsZyUPpf4PMSJ8DkN9Rq4L3fIcg/MsOg3Y=; h=Date:From:To:Subject:Message-ID:MIME-Version:Content-Type:From; b=qM2zxQN2FLLGqFwiWnPfrF/q3ja3mR4ffQ8rzrqYq0YWzs3doh17zKfPYrcABdyPz 4FBuaWUGqwQb4qbLQ1nY0s5s4XzOjVO5A/vn3b+x/w2pUzk33AG1mdfySd1Fgcwoee ysqf8hcb6ySLsohlYnd6Ira0PFBT/CeaXoah7lBzGI+cdKA48lE29ulAE1pkVV9npC kQq8xvsSQWqFjfmPrs7ckgxdnlKBX0U5ers4vAggtxOKkOj40L5bsQP2/P18+bQFq8 4fYztD9uM5NIKu6GyJzcbL3Mxm8o0VwMR+AepjZzCWTH9Y38wnwp9NeZuLrbUiBsKA ZhQ1Uybi+Er0Q== Received: from p-i-exch-sc-m01.sberdevices.ru (p-i-exch-sc-m01.sberdevices.ru [172.16.192.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.sberdevices.ru (Postfix) with ESMTPS; Wed, 1 Nov 2023 21:01:00 +0300 (MSK) Received: from localhost (100.64.160.123) by p-i-exch-sc-m01.sberdevices.ru (172.16.192.107) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.37; Wed, 1 Nov 2023 21:01:00 +0300 Date: Wed, 1 Nov 2023 21:00:54 +0300 From: Dmitry Rokosov To: Andrii Nakryiko CC: , , , , , , , , , , , , , Subject: Re: [PATCH v1 1/2] mm: memcg: print out cgroup name in the memcg tracepoints Message-ID: <20231101180054.ihczece7upxla77u@CAB-WSD-L081021> References: <20231101102837.25205-1-ddrokosov@salutedevices.com> <20231101102837.25205-2-ddrokosov@salutedevices.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: NeoMutt/20220415 X-Originating-IP: [100.64.160.123] X-ClientProxiedBy: p-i-exch-sc-m02.sberdevices.ru (172.16.192.103) To p-i-exch-sc-m01.sberdevices.ru (172.16.192.107) X-KSMG-Rule-ID: 10 X-KSMG-Message-Action: clean X-KSMG-AntiSpam-Lua-Profiles: 181058 [Nov 01 2023] X-KSMG-AntiSpam-Version: 6.0.0.2 X-KSMG-AntiSpam-Envelope-From: ddrokosov@salutedevices.com X-KSMG-AntiSpam-Rate: 0 X-KSMG-AntiSpam-Status: not_detected X-KSMG-AntiSpam-Method: none X-KSMG-AntiSpam-Auth: dkim=none X-KSMG-AntiSpam-Info: LuaCore: 543 543 1e3516af5cdd92079dfeb0e292c8747a62cb1ee4, {Track_E25351}, {Tracking_from_domain_doesnt_match_to}, d41d8cd98f00b204e9800998ecf8427e.com:7.1.1;p-i-exch-sc-m01.sberdevices.ru:5.0.1,7.1.1;127.0.0.199:7.1.2;100.64.160.123:7.1.2;salutedevices.com:7.1.1, FromAlignment: s, ApMailHostAddress: 100.64.160.123 X-MS-Exchange-Organization-SCL: -1 X-KSMG-AntiSpam-Interceptor-Info: scan successful X-KSMG-AntiPhishing: Clean X-KSMG-LinksScanning: Clean X-KSMG-AntiVirus: Kaspersky Secure Mail Gateway, version 2.0.1.6960, bases: 2023/11/01 15:56:00 #22380151 X-KSMG-AntiVirus-Status: Clean, skipped X-Rspam-User: X-Stat-Signature: ez5wdgga3qfx1u8cdpigxbwmkhcyadx1 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 41795180060 X-HE-Tag: 1698861662-636292 X-HE-Meta: U2FsdGVkX1/Y8V7gv6GalBc7He9kK0PTVaRnsN9GBMV+WgYFyrrSRm9Fg2j9UyBcjbvR1oJbOauWgueOTH6upELtG9TAIac4W4xL3h6P2WKZt5EAo+8QfxSFBxH0+AyGzsP0hEBVKS3+v6wAm7njlOiFYd1C8WhyLj3oj1AkzZjGlnTveJKiUbNTXtISWkgVeCjb63CXh+MO/L1C/Cgsr3X6+N4/RH5zLpTrKpSqRs3TZpNMr96kPwlg5zkSkWyStx3GLaX3Hbqagnm1JyzCZW+w5zmLX51iBV+I+Kf05x6VclXRRLHxv8ruFFEM4OQKv7m4tfu4Dbkx6pPf+iNfwS+1Dv+fCheBVzOQs69+h5WGTAlz5lAvnQM8NO8ZX9UElzWC1blx2W04XWB7BmExcSEUficTf/qBYnI0sDjl9l+9jLdh6FF/P06fSjaC1HV32hhZ0TDJ0qK3WWC9eHxjXfmdZ+XZqjRTl9LXCt8QppX3OTKVnBBaktXw8iNL1dPbVbEIdCxMoR5eM5vzCIpzgGFjQn2uCPq9oh2adS36AgBpeBVGgi98RxZpz6kckHGHVbI6klpx1gjI0J+UBAgacdmYYiQSfLNpbazrHUssczTSKu5efBVUGhfOo0yA6eVee3+ZL0JDmmYiKc1TP3PCKTv3zK1w3EXbbra42Yi3E8fz+YpyCwqm623MTalPaS2dwXJOc54brWY1TSOHtnHVzBkDKEer5+n8rhJm00ZSCOQHdLOIyWtvRhyVVgideWv6ukdaIk5/oOVAokJ9wVDbg9X2UgPvePm4Vitqsrldoj/qulg5rkOwnGuNtYduP1YhZ24E7a1+qG6lja4reaHsmq+MpVJwUqRMYyos3H8tjz4/ebLh6OZI3qGkU8QtpYXYP5zVkO3k8M10cCO/drii2GJSt88d13uN9EI8hVm57fIu2fjnOn9II3N7BgaTNkaJREGmbAyPTdmVXZyPAn5 0SSPTQrN ifvpH0wHGB7rg3gM/mQpP5nvh8FmjhvN4MFOq3vwnjDWwqCUmgYLu8J2Pvj/9OOs7WbmcC8yBxcj+pyYPgkI7TpIbpCyGHvqesgayWiuS1QFnzH5Z7PyBpoW4pSfOO+hDfYOdXpphuZP7CKuJLktsvqcV2BF9A848rKCvu1/UgjLvk3Bf78JVE43fF4nGwmRVFZV+I6CNKMvs/5ramapdyD1i8ohm68B0bXZiAYy2Js6fUhDp/rHgvK6mNMkAXm0w+b1FiDfGh5l2if5gBkbpVX0eEbVykF5i58wXRG63uKRtPW2wTM7/p4k0N4HWEKWtb5fS+UkWRR71Xioq8LOU53PnJpQlE0HlPCdgQf/fuRzC+20r6rFTzJt4ED7vIJV3uYcoK3Zx7xkzT5KdzrFk+IvvASLXBYkdOg1axpVub8frki7UCQPGb3szLg== 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: Hello Andrii! Thank you for quick feedback! On Wed, Nov 01, 2023 at 10:08:34AM -0700, Andrii Nakryiko wrote: > On Wed, Nov 1, 2023 at 3:29 AM 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_template, mm_vmscan_direct_reclaim_b > > ); > > > > #ifdef CONFIG_MEMCG > > -DEFINE_EVENT(mm_vmscan_direct_reclaim_begin_template, mm_vmscan_memcg_reclaim_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_flags), > > + > > + 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. > You are absolutely correct. I didn't consider the scripts that rely on these tracepoints, because tracepoints are not an ABI, as you mentioned. Additionally, I added the memcg parameter as the first argument based on my personal programming patterns, where the context object should always come first :) I apologize for that and will prepare new version. > > + > > + TP_STRUCT__entry( > > + __field(int, order) > > + __field(unsigned long, gfp_flags) > > + __array(char, name, NAME_MAX + 1) > > + ), > > + > > + TP_fast_assign( > > + __entry->order = order; > > + __entry->gfp_flags = (__force unsigned long)gfp_flags; > > + cgroup_name(memcg->css.cgroup, > > + __entry->name, > > + sizeof(__entry->name)); > > + ), > > + > > + TP_printk("memcg=%s order=%d gfp_flags=%s", > > + __entry->name, > > + __entry->order, > > + show_gfp_flags(__entry->gfp_flags)) > > ); > > [...] -- Thank you, Dmitry