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 050F8C64ED6 for ; Sat, 11 Feb 2023 19:00:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 015AF6B0074; Sat, 11 Feb 2023 14:00:22 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id EE0CC6B0078; Sat, 11 Feb 2023 14:00:21 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D5A706B007B; Sat, 11 Feb 2023 14:00:21 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id C38DD6B0074 for ; Sat, 11 Feb 2023 14:00:21 -0500 (EST) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 8D9301408F9 for ; Sat, 11 Feb 2023 19:00:21 +0000 (UTC) X-FDA: 80455926642.08.AAAC21D Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by imf12.hostedemail.com (Postfix) with ESMTP id A386340009 for ; Sat, 11 Feb 2023 19:00:19 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=none; spf=pass (imf12.hostedemail.com: domain of "SRS0=aEaJ=6H=goodmis.org=rostedt@kernel.org" designates 145.40.68.75 as permitted sender) smtp.mailfrom="SRS0=aEaJ=6H=goodmis.org=rostedt@kernel.org"; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1676142019; 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; bh=oDa4ji4Trk5JK906z28FBQrEoFAR/TeyxQGhoEyZQO0=; b=AaLJqXWWSYeITjz5sjTTJH1nR7ci6BbHMq8fZPU2kpNtmc4CFpvhdo5phRuCUr2bVDFFVE ZTOnxBdZ2QwTKDPn5g/S6Nn1uIziDEiubUZZhEYG3xSyM49srMhs/8fLCaZOqWaKbHiCEl ufodYVth+L1Gw5E0lXNC5wZeizoec0o= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=none; spf=pass (imf12.hostedemail.com: domain of "SRS0=aEaJ=6H=goodmis.org=rostedt@kernel.org" designates 145.40.68.75 as permitted sender) smtp.mailfrom="SRS0=aEaJ=6H=goodmis.org=rostedt@kernel.org"; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1676142019; a=rsa-sha256; cv=none; b=zFIKKzwqRKSzN/+tj8phfvU5EloHAY7xA1fUw6C9LGH3cBVa3PrSSPjLM39ylp1+3EYIj2 as8tlKuhCFaOahLAaXmTt/7sLujGtM7K0To8HTcIGZ4O979zTzLYMGBkyg2jdbSDAie/vJ IIDmvRqpaaHendVO4DjUCyy1MqE96tY= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id DD7F8B80064; Sat, 11 Feb 2023 19:00:17 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B82C0C433EF; Sat, 11 Feb 2023 19:00:13 +0000 (UTC) Date: Sat, 11 Feb 2023 14:00:11 -0500 From: Steven Rostedt To: John Stultz Cc: Alexei Starovoitov , Yafang Shao , Andrew Morton , Network Development , bpf , "linux-perf-use." , Linux-Fsdevel , linux-mm , LKML , kernel test robot , kbuild test robot , Andrii Nakryiko , David Hildenbrand , Mathieu Desnoyers , Arnaldo Carvalho de Melo , Andrii Nakryiko , Michal Miroslaw , Peter Zijlstra , Matthew Wilcox , Al Viro , Kees Cook , Petr Mladek , Kajetan Puchalski , Lukasz Luba , Qais Yousef , Daniele Di Proietto , Linus Torvalds Subject: Re: [PATCH v2 7/7] tools/testing/selftests/bpf: replace open-coded 16 with TASK_COMM_LEN Message-ID: <20230211140011.4f15a633@gandalf.local.home> In-Reply-To: <20230208213343.40ee15a5@gandalf.local.home> References: <20211120112738.45980-1-laoar.shao@gmail.com> <20211120112738.45980-8-laoar.shao@gmail.com> <20230208212858.477cd05e@gandalf.local.home> <20230208213343.40ee15a5@gandalf.local.home> X-Mailer: Claws Mail 3.17.8 (GTK+ 2.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Stat-Signature: pxn63uonb591gzg5iac87fhnbzegcjz6 X-Rspam-User: X-Rspamd-Queue-Id: A386340009 X-Rspamd-Server: rspam06 X-HE-Tag: 1676142019-645572 X-HE-Meta: U2FsdGVkX18DDy6lz7H8gVb4HxmrVkXRDdya5EQtBbg8bpv9KN+0nuNaCxbBoJG3pKDkNH/fSWhbu5haOAsDziiWMLPEleuQnSs29bcXiq0lUa5/BLh5uO2t5DX632EKvHPamx59rZuk1jbZKD8kAQYn/CEH3ZwznAqmxRvPsOKnBGflcduyUUwkZ5ziyua1iQuYf8n1kjDUkC4dhN5FFn0SRyrVlv1JdQVDYQqto4jOS1BWXVeKsBUjx/QLOoYVIoLG+pzWWzg2ikw3TwJ1QcAcM2f5snO3K2+w7JhhLJuYOzcswCKo/Xo1RCZDuiK18iFCF3uP/ywDlQIkoSEH0nj8qvHnW22MAmuAwu6STrJh2WSvLTcfYHiahB63EiQGNmtkaRj25DMhsYf+wpmILCgoT5B2vYUznxKN7WKNWQdKpgztDAob5vymIb7ZWMLGkjYuiwF78qyRElrOXo67hilT7halAXfx0RxalsZHwRgCqhqHpayR2EZ3JdUmM2TRFs6u71RUHlg4JRK0Kru0krE0j5Ze1pc9U7id0WR9MZ2dota5Iq0AVgvhOgW26O2NKG2p7LPc1qaYVE+/aNgTyfZGxCr7sFF2tTCOZMl5IbgB+YROb14FBgnb/ZoPYdskMqosW5RaaOhOxXYU09Pjfr48Cy+BZsjlYf3f+MjYjReFEM7dqGt6lK3TZ+yr3zdcRUE+SIvfVb98DZNKjWhh9xJPTWphH70yB1tXaJqYXaAfiLYbaWyrTGl1TPRsS+BieIPsstDACJPpNjcHOOdVUqRhEP7yvIrTL/fOgDeQvyeGPDhcoFt4HucAeyNW586yB9kf+QlzEJKu/eNK/hCd2kLmZqBErTYWkK+1lS6ahT5KbxAd5LVWr7UnFatMGpXK8XeI5rL+C0zg5hy7uV9R1pZtAEgoJWqEBV2oUh1y3JzrCV5aJjsROBumSzG3r1PWBj/BBsT8TUacTpzuOC2 UHupMA4B qzbCG5YMfV0xc9xBIiu0lGHO3xF7xnmOOU58XsRvwvm8li2hltbazZSMBOWmCuikhUVH6tinGuL6UoFURkXxQZgxDqQmKrNzjcOFtylHx5FGsO2CQpPs3dpFYxN00C0v4QoNIiO5z+aQFzLPhq2jTPy0D4xuhw8iRx3noVbpPahbPfhjaUHXGVrmc3tQE29OnG0GzndX9XMg4ppOPHogbl4rALCMhfE5dgZuKJh/6wpDcW5KdlY3aSvyONkv3nHby33BPitcbrM+E3DhJ5UKqbWJNUuUi9FIi+F93EkMq70WsT2tMO9QFDDZ/shMGkTEY6ZVeJd6uqbtyn35aOZb+pRA8sSP+C5bBI6Ste/brINkDo9XLzPUgThL6MHBoSNSJ5NIjsFsWGmzInrQnE/q5cSlMs5HiB/2TomrtoLvOb7ld1S1DfE74CVdYDEuwtFgL7GnqUic5FzX1h37d8fWkM1dlzOnWOju3/wwfD+6us5xVwyaK8HWERO5PmKJw9nQR+hg/hcGgQmKPdGlt3jqqG2F4RC742EGwYz35 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: On Wed, 8 Feb 2023 21:33:43 -0500 Steven Rostedt wrote: > OK, so it doesn't break perf, trace-cmd and rasdaemon, because the enum is > only needed in the print_fmt part. It can handle it in the field portion. > > That is: > > > system: sched > name: sched_switch > ID: 285 > format: > field:unsigned short common_type; offset:0; size:2; signed:0; > field:unsigned char common_flags; offset:2; size:1; signed:0; > field:unsigned char common_preempt_count; offset:3; size:1; signed:0; > field:int common_pid; offset:4; size:4; signed:1; > > field:char prev_comm[TASK_COMM_LEN]; offset:8; size:16; signed:0; > ^^^^^^^^^^^^^^ ^^ > is ignored is used > > > field:pid_t prev_pid; offset:24; size:4; signed:1; > field:int prev_prio; offset:28; size:4; signed:1; > field:long prev_state; offset:32; size:8; signed:1; > field:char next_comm[TASK_COMM_LEN]; offset:40; size:16; signed:0; > field:pid_t next_pid; offset:56; size:4; signed:1; > field:int next_prio; offset:60; size:4; signed:1; > > print fmt: "prev_comm=%s prev_pid=%d prev_prio=%d prev_state=%s%s ==> next_comm=%s next_pid=%d next_prio=%d", REC->prev_comm, REC->prev_pid, REC->prev_prio, (REC->prev_state & ((((0x00000000 | 0x00000001 | 0x00000002 | 0x00000004 | 0x00000008 | 0x00000010 | 0x00000020 | 0x00000040) + 1) << 1) - 1)) ? __print_flags(REC->prev_state & ((((0x00000000 | 0x00000001 | 0x00000002 | 0x00000004 | 0x00000008 | 0x00000010 | 0x00000020 | 0x00000040) + 1) << 1) - 1), "|", { 0x00000001, "S" }, { 0x00000002, "D" }, { 0x00000004, "T" }, { 0x00000008, "t" }, { 0x00000010, "X" }, { 0x00000020, "Z" }, { 0x00000040, "P" }, { 0x00000080, "I" }) : "R", REC->prev_state & (((0x00000000 | 0x00000001 | 0x00000002 | 0x00000004 | 0x00000008 | 0x00000010 | 0x00000020 | 0x00000040) + 1) << 1) ? "+" : "", REC->next_comm, REC->next_pid, REC->next_prio > > ^^^^^^^ > > Is what requires the conversions. So I take that back. It only breaks > perfetto, and that's because it writes its own parser and doesn't use > libtraceevent. Actually, there are cases that this needs to be a number, as b3bc8547d3be6 ("tracing: Have TRACE_DEFINE_ENUM affect trace event types as well") made it update fields as well as the printk fmt. I think because libtraceevent noticed that it was a "char" array, it just defaults to "size". But this does have meaning for all other types, and I can see other parsers requiring that. -- Steve