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 6C645C636CC for ; Thu, 9 Feb 2023 02:29:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BE8756B0071; Wed, 8 Feb 2023 21:29:07 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B987B6B0072; Wed, 8 Feb 2023 21:29:07 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A87A36B0074; Wed, 8 Feb 2023 21:29:07 -0500 (EST) 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 979B86B0071 for ; Wed, 8 Feb 2023 21:29:07 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 6A5BEA05ED for ; Thu, 9 Feb 2023 02:29:07 +0000 (UTC) X-FDA: 80446171134.07.732EC41 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by imf13.hostedemail.com (Postfix) with ESMTP id 918C720003 for ; Thu, 9 Feb 2023 02:29:05 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=none; spf=pass (imf13.hostedemail.com: domain of "SRS0=M4Zj=6F=goodmis.org=rostedt@kernel.org" designates 145.40.68.75 as permitted sender) smtp.mailfrom="SRS0=M4Zj=6F=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=1675909745; 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=YaLz+LMAlrl88pLQilrlWwsbpjhGOwgQpWIo3TVeWzU=; b=1OsWEhpjM/ACg0fo9WfKkxXjze+9i/2E2wusVTkbvpWblA0t0zxLS0qEWjvgON7vUK9jjd 7Ds+jZW+3FqQ4x8/al+TvV+xfbMNHBkSl1s/b02wuX77r9V7Mb5/G2tQ8uAVrwVM+nl9E5 Fvult3csduxrbePcZQoqsmgfhLv/08E= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=none; spf=pass (imf13.hostedemail.com: domain of "SRS0=M4Zj=6F=goodmis.org=rostedt@kernel.org" designates 145.40.68.75 as permitted sender) smtp.mailfrom="SRS0=M4Zj=6F=goodmis.org=rostedt@kernel.org"; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1675909745; a=rsa-sha256; cv=none; b=By2fcNtw3LURMAgoVnsmABrfRfgiITzLRtFduZOCa5rFUc3efZznXruLYSCSqd9rDqlD4n D9YvcfO2WF9R+TVq2bNE4y3k30MD6a9ZCD9fu/g3L9MHwPMxQweTUQgJuKUMp3+TUJvlo2 64T8QMcSm7hmR3YjHiWxIWD3V/tFGCk= 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 14AB3B81FDD; Thu, 9 Feb 2023 02:29:04 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id CB0EBC433EF; Thu, 9 Feb 2023 02:28:59 +0000 (UTC) Date: Wed, 8 Feb 2023 21:28:58 -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: <20230208212858.477cd05e@gandalf.local.home> In-Reply-To: References: <20211120112738.45980-1-laoar.shao@gmail.com> <20211120112738.45980-8-laoar.shao@gmail.com> 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-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: rdum1x94a3j1ptpyc5nnahpx4ycwzcs9 X-Rspamd-Queue-Id: 918C720003 X-HE-Tag: 1675909745-792444 X-HE-Meta: U2FsdGVkX1/Kna7mAmVg10gstJ8lig/acWLxV7N5t99GUIAI78sr1ZV43uzyC15h6yH4ulU92bgpfRck70prbSnFgd2r8bRoEhdz9459RwBhyMz8a6ieqK1G9V3t3QHv+rZEy9/lcjY8ggg4v+L3aSz0VVHZnc2WLzvzS8M8XA2RD7fWgL52Zy6y5g+PrDQRpECylECUCiFxXX+PPTHgKr7gCHKHSDxtjNEXafiupZQsZi7kctJSJv2vEJoSOfojkvCMJeXE9VaolFxjeKy8NvG5ntXr/H2Q+9NfHdj6bEs5C45mrpfJDSPq2PUcds5+Y02shvGVK85xn9JiLU3Makzm6OZtQZI3qjPRFYfpWakkWoWV+WNpSyn2tPOmof22PCNd4ZnUTN3jNoZpftPtPBFuJyvFav2W4YzFbaY+pOP41JU+y668+YNxb94nsdswZcZ8OSRVrdaV41L7+MpIn8VkK1czXYIqwJWmIsa+bZ0iJ05MA3eUFg/3pxlaa+IF9BN9puTX/ohHhXMwqcddgS/bMIgNdYU2S1mBJxNYSDBxv1aWGBskTD9w0psUbw5mBe48t19DorK1jb4E4UjdJEQ8ZK5g3VXn3Jj0kot4pADLK+BA4A5vS3tbVZIAPUMSqcXkMe8mahBSW+Ecl1a9S6spEgtna43wec9EttCZvU71Dm56yh348xHiO6hea9Kj1wAIivG03/6J0/t7wMNYk2tHsC0uK39Acf0SvA+p9nQOReaq5kaI3Hp59SYNjBUkjuV+UyrAjYXRTXDdiXCGspdQEOBzy6SWdmITYZKnaw/iGendZEX/WENKQf92U/SE+VJYYngt8MGBEpU3INlTYq+yp/dPBEFTDQ9n4SW2EGbznBCVVBKajvkeFlThUoVjoKbEk17z+KpLCL09umxHKlpmBiBJjul4uPJUmehpZagT1MBNeFHEyV+4EhnlF227nih8bdx2nXMZwvEYrpf R7m+r2Le j+zK5FpXTTLt+IA2x9B+ZthkO5N5UKD/SOYwQMtb+ryvyqVFEJH7/L7W2d9JkfzI8uG/TsIr5eoa42TfDZHjRBsbiXcQDMREFecrQBP1POWm0/J5oeOuU06REx1RFqFMIjhwAVcnTXYqwYuYCk20nAKiAel0447koc8bpOHmMtnEoxnq66svDccc7B4pZiDYbqJleedypio3AY4MJ1urJPEUIaad/qqNDe9MjamE29RtOXeD8hHM5j58ZCUuROW3wTudAz8vEBRLRAIxSFC0PXozmNDM7Ht5DxTbw9Wywjo+OyhD5W0LdR7EqfZi1MfGN72wDdWklX6ZUT3jaq6Ty2od6gryyN3SJGH3fajZLXhFZiRitwBYGJGXS+ccChRQixqDWdZiAOgi0uVOuw0eOJ20fukcbr8lKJUILEFhEZad2BkdT9dSvPCQ6NOSwnDPew1VF78ex5t31Rj+vXF82uo7c32HiYuvv4a8ZyI4bwvgpWIxzPVDs5pdmWMXbIIpXK+Y4 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 16:54:03 -0800 John Stultz wrote: > > Let me understand what you're saying... > > > > The commit 3087c61ed2c4 did > > > > -/* Task command name length: */ > > -#define TASK_COMM_LEN 16 > > +/* > > + * Define the task command name length as enum, then it can be visible to > > + * BPF programs. > > + */ > > +enum { > > + TASK_COMM_LEN = 16, > > +}; > > > > > > and that caused: > > > > cat /sys/kernel/debug/tracing/events/task/task_newtask/format > > > > to print > > field:char comm[TASK_COMM_LEN]; offset:12; size:16; signed:0; Yes because there's no easy way to automatically convert an enum to a number. And this has been a macro for a very long time (so it works, because macros convert to numbers). And this breaks much more than android. It will break trace-cmd, rasdaemon and perf (if it's not using BTF). This change very much "Breaks userspace!" And requires a kernel workaround, not a user space one. > > instead of > > field:char comm[16]; offset:12; size:16; signed:0; > > > > so the ftrace parsing android tracing tool had to do: > > > > - if (Match(type_and_name.c_str(), R"(char [a-zA-Z_]+\[[0-9]+\])")) { > > + if (Match(type_and_name.c_str(), > > + R"(char [a-zA-Z_][a-zA-Z_0-9]*\[[a-zA-Z_0-9]+\])")) { > > > > to workaround this change. > > Right? > > I believe so. > > > And what are you proposing? > > I'm not proposing anything. I was just wanting to understand more > context around this, as it outwardly appears to be a user-breaking > change, and that is usually not done, so I figured it was an issue > worth raising. > > If the debug/tracing/*/format output is in the murky not-really-abi > space, that's fine, but I wanted to know if this was understood as > something that may require userland updates or if this was a > unexpected side-effect. Linus has already said that /sys/kernel/tracing/* is an ABI (fyi, getting to the tracing directory via debugfs is obsolete). Usually, when a trace event uses an enum, it can do: TRACE_DEFINE_ENUM(TASK_COMM_LEN); But that's a very common define. It would require it updated for every trace event, or the change needs to be reverted. Not sure why BTF needs it like this, because it hasn't changed in years. Can't it just hard code it? For ftrace to change it, it requires reading the format files at boot up and replacing the enums with the numbers, which does impact start up. -- Steve