From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail.loongson.cn (mail.loongson.cn [114.242.206.163]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 8F740EC2 for ; Wed, 24 May 2023 03:19:13 +0000 (UTC) Received: from loongson.cn (unknown [113.200.148.30]) by gateway (Coremail) with SMTP id _____8BxGvIpgm1kj0kAAA--.965S3; Wed, 24 May 2023 11:19:05 +0800 (CST) Received: from [10.130.0.149] (unknown [113.200.148.30]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Axo8Aogm1kbbdyAA--.60316S3; Wed, 24 May 2023 11:19:05 +0800 (CST) Subject: Re: [PATCH 1/2] perf arm64: Handle __NR3264_ prefixed syscall number To: Alexander Kapshuk References: <1684837327-18203-1-git-send-email-yangtiezhu@loongson.cn> <1684837327-18203-2-git-send-email-yangtiezhu@loongson.cn> Cc: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Hans-Peter Nilsson , Leo Yan , linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org, loongarch@lists.linux.dev, loongson-kernel@lists.loongnix.cn From: Tiezhu Yang Message-ID: <49e98308-ab8d-5811-66a8-9e17f22bb8c4@loongson.cn> Date: Wed, 24 May 2023 11:19:04 +0800 User-Agent: Mozilla/5.0 (X11; Linux mips64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 Precedence: bulk X-Mailing-List: loongarch@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-CM-TRANSID:AQAAf8Axo8Aogm1kbbdyAA--.60316S3 X-CM-SenderInfo: p1dqw3xlh2x3gn0dqz5rrqw2lrqou0/ X-Coremail-Antispam: 1Uk129KBjvJXoW7WF47CrWDKryktF47tFyxKrg_yoW8KFW8pr n5Aay5tay8WF12kwn7ursIqrySy3ykJr90gryvk39xu3WDt3Z5Kr10v3Z0kFWxXr1xKrWr uF10qFyUX3WrX3DanT9S1TB71UUUUjJqnTZGkaVYY2UrUUUUj1kv1TuYvTs0mT0YCTnIWj qI5I8CrVACY4xI64kE6c02F40Ex7xfYxn0WfASr-VFAUDa7-sFnT9fnUUIcSsGvfJTRUUU bqxYFVCjjxCrM7AC8VAFwI0_Jr0_Gr1l1xkIjI8I6I8E6xAIw20EY4v20xvaj40_Wr0E3s 1l1IIY67AEw4v_Jrv_JF1l8cAvFVAK0II2c7xJM28CjxkF64kEwVA0rcxSw2x7M28EF7xv wVC0I7IYx2IY67AKxVW5JVW7JwA2z4x0Y4vE2Ix0cI8IcVCY1x0267AKxVW8JVWxJwA2z4 x0Y4vEx4A2jsIE14v26r4UJVWxJr1l84ACjcxK6I8E87Iv6xkF7I0E14v26r4UJVWxJr1l n4kS14v26r126r1DM2AIxVAIcxkEcVAq07x20xvEncxIr21l57IF6xkI12xvs2x26I8E6x ACxx1l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjxv20xvE14v26r126r1DMcIj6I8E 87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1lF7xvr2IY64vIr41lc7I2V7IY0V AS07AlzVAYIcxG8wCY1x0262kKe7AKxVWUtVW8ZwCF04k20xvY0x0EwIxGrwCFx2IqxVCF s4IE7xkEbVWUJVW8JwCFI7km07C267AKxVWUAVWUtwC20s026c02F40E14v26r1j6r18MI 8I3I0E7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_GFv_WrylIxkGc2Ij64vIr41l IxAIcVC0I7IYx2IY67AKxVWUCVW8JwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Jr0_Gr1lIx AIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0xvEx4A2 jsIEc7CjxVAFwI0_Jr0_GrUvcSsGvfC2KfnxnUUI43ZEXa7IU8svtJUUUUU== On 05/23/2023 08:31 PM, Alexander Kapshuk wrote: > On Tue, May 23, 2023 at 1:22 PM Tiezhu Yang wrote: >> >> After commit 9854e7ad35fe ("perf arm64: Simplify mksyscalltbl"), >> in the generated syscall table file syscalls.c, there exist some >> __NR3264_ prefixed syscall numbers such as [__NR3264_ftruncate], >> it looks like not so good, just do some small filter operations >> to handle __NR3264_ prefixed syscall number as a digital number. >> >> Without this patch: >> >> [__NR3264_ftruncate] = "ftruncate", >> >> With this patch: >> >> [46] = "ftruncate", >> >> Signed-off-by: Tiezhu Yang >> --- >> tools/perf/arch/arm64/entry/syscalls/mksyscalltbl | 7 ++++--- >> 1 file changed, 4 insertions(+), 3 deletions(-) >> >> diff --git a/tools/perf/arch/arm64/entry/syscalls/mksyscalltbl b/tools/perf/arch/arm64/entry/syscalls/mksyscalltbl >> index 22cdf91..59ab7939 100755 >> --- a/tools/perf/arch/arm64/entry/syscalls/mksyscalltbl >> +++ b/tools/perf/arch/arm64/entry/syscalls/mksyscalltbl >> @@ -39,7 +39,8 @@ create_table() >> echo "};" >> } >> >> -$gcc -E -dM -x c -I $incpath/include/uapi $input \ >> - |sed -ne 's/^#define __NR_//p' \ >> - |sort -t' ' -k2 -n \ >> +$gcc -E -dM -x c -I $incpath/include/uapi $input \ >> + |awk '{if ($2~"__NR" && $3 !~"__NR3264_") {print}}' \ >> + |sed -ne 's/^#define __NR_//p;s/^#define __NR3264_//p' \ >> + |sort -t' ' -k2 -n \ >> |create_table >> -- >> 2.1.0 >> > > As an aside, the awk + sed + sort parts of the command line may be > reduced to the following awk script, if desired: > awk '$2 ~ "__NR" && $3 !~ "__NR3264_" { > sub("^#define __NR_", "") > sub("^#define __NR3264_", "") > print | "sort -k2 -n" > }' > Hi Alexander, Thanks, it seems more simple and works well as expected. Let us wait for more review comments before respin. If no any objections, I will send v2 with the following changes based on the current patch in the next week. -$gcc -E -dM -x c -I $incpath/include/uapi $input \ - |awk '{if ($2~"__NR" && $3 !~"__NR3264_") {print}}' \ - |sed -ne 's/^#define __NR_//p;s/^#define __NR3264_//p' \ - |sort -t' ' -k2 -n \ +$gcc -E -dM -x c -I $incpath/include/uapi $input \ + |awk '$2 ~ "__NR" && $3 !~ "__NR3264_" { + sub("^#define __NR_", "") + sub("^#define __NR3264_", "") + print | "sort -k2 -n"}' \ |create_table Thanks, Tiezhu