Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp5347314rwb; Mon, 14 Nov 2022 03:20:40 -0800 (PST) X-Google-Smtp-Source: AA0mqf4RlNLgTED3yIuU+9H3Ecx33cohErPWON/ZjPPIBU7AFg2e9pr6ueM+thqIhwXY9m3YF2uz X-Received: by 2002:a17:906:ae53:b0:78b:15dc:2355 with SMTP id lf19-20020a170906ae5300b0078b15dc2355mr9811696ejb.306.1668424840113; Mon, 14 Nov 2022 03:20:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668424840; cv=none; d=google.com; s=arc-20160816; b=Ym9x+YgsGdbTPgLwivuKYbel+GsG7xZXjOWUDd+ekc5N13NBP7g4U/8gCJlXW+f28V bipGGqhNHVK/pgNrPCpnYz84IhrHx9YEGuumX2wbbTkJ13RYxYM+f2VyI4j717pcVgnn GbFjzbRZ/XegkWRpBO6KXbHa2D1a/kYE6mbymGuuuoi3bIc0AL3VhtbdAI6o9SCwrtYc 5Bj7sAkjA+Jr5l4y6bKhkLr7hkK+nyZVknIHpEPKhalEuav0BfQw7l5l8WAWBMxqYx52 +7pCnbSDl4qX1+Y4JEqhNxH+WEeaWGWY8wflitmEulTytYTKyAtsX2eA8kBPlIP4UFOo YGdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id; bh=7Q6EAqkCvE5xtXFHR5ANZv9rRdesBEor0ZWJ4FKye7U=; b=clRQTKMi2fAzQrwgwDKb7PKc9a8AsLTv3mJjuCckzt4SNqRCd32O8TUgidPmzO73Dh O2YRaqA166zob4UfMACNWTOYl0s6KWxOTyGw9KacFyMfDbtCwhyzZAHoi+VRvb15vx1c 6FzRvwAqYSi51pq9R0n+f7L6/hOlN3mPZoUy/wMySfp+LnBg7d2bJtChbwQKhzad1Jef Nz5sA9c1Q030BwycHmUbqcfJzh/yMyPV0SEoPMWzC9fl+O4YC92IUJkEwuKg1Dc5QV5s aCdwbgEnH0DcQBChtYG8XjLBh17tln2Z3NN2L1NL4WEq9ygkXagxKzUOkvPY+O5Z9mEs Q08A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id cr19-20020a170906d55300b00781c1645926si9494961ejc.524.2022.11.14.03.20.17; Mon, 14 Nov 2022 03:20:40 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236582AbiKNLQO (ORCPT + 89 others); Mon, 14 Nov 2022 06:16:14 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41856 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236706AbiKNLPd (ORCPT ); Mon, 14 Nov 2022 06:15:33 -0500 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 6DBADF51; Mon, 14 Nov 2022 03:11:42 -0800 (PST) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 25F4123A; Mon, 14 Nov 2022 03:11:48 -0800 (PST) Received: from [10.57.70.83] (unknown [10.57.70.83]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 43DE83F73D; Mon, 14 Nov 2022 03:11:39 -0800 (PST) Message-ID: <38c4c93d-c3a5-2649-a57a-3c1ccd2027f3@arm.com> Date: Mon, 14 Nov 2022 11:11:37 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.2.2 Subject: Re: [PATCH 02/12] perf test: Replace pipe test workload with noploop Content-Language: en-US To: Namhyung Kim , Arnaldo Carvalho de Melo , Jiri Olsa Cc: Ingo Molnar , Peter Zijlstra , LKML , Ian Rogers , Adrian Hunter , linux-perf-users@vger.kernel.org, Leo Yan , German Gomez , Zhengjun Xing , Athira Jajeev References: <20221110181920.84900-1-namhyung@kernel.org> <20221110181920.84900-3-namhyung@kernel.org> From: James Clark In-Reply-To: <20221110181920.84900-3-namhyung@kernel.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,NICE_REPLY_A, RCVD_IN_DNSWL_MED,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 10/11/2022 18:19, Namhyung Kim wrote: > So that it can get rid of requirement of a compiler. > Also define and use more local symbols to ease future changes. > > $ sudo ./perf test -v pipe > 87: perf pipe recording and injection test : > --- start --- > test child forked, pid 748003 > [ perf record: Woken up 1 times to write data ] > [ perf record: Captured and wrote 0.000 MB - ] > 748014 748014 -1 |perf > [ perf record: Woken up 1 times to write data ] > [ perf record: Captured and wrote 0.000 MB - ] > 99.83% perf perf [.] noploop > [ perf record: Woken up 1 times to write data ] > [ perf record: Captured and wrote 0.000 MB - ] > 99.85% perf perf [.] noploop > [ perf record: Woken up 1 times to write data ] > [ perf record: Captured and wrote 0.160 MB /tmp/perf.data.2XYPdw (4007 samples) ] > 99.83% perf perf [.] noploop > test child finished with 0 > ---- end ---- > perf pipe recording and injection test: Ok > > Signed-off-by: Namhyung Kim Tested-by: James Clark > --- > tools/perf/tests/shell/pipe_test.sh | 55 ++++++----------------------- > 1 file changed, 10 insertions(+), 45 deletions(-) > > diff --git a/tools/perf/tests/shell/pipe_test.sh b/tools/perf/tests/shell/pipe_test.sh > index 1b32b4f28391..8dd115dd35a7 100755 > --- a/tools/perf/tests/shell/pipe_test.sh > +++ b/tools/perf/tests/shell/pipe_test.sh > @@ -2,68 +2,33 @@ > # perf pipe recording and injection test > # SPDX-License-Identifier: GPL-2.0 > > -# skip if there's no compiler > -if ! [ -x "$(command -v cc)" ]; then > - echo "failed: no compiler, install gcc" > - exit 2 > -fi > - > -file=$(mktemp /tmp/test.file.XXXXXX) > data=$(mktemp /tmp/perf.data.XXXXXX) > +prog="perf test -w noploop" > +task="perf" > +sym="noploop" > > -cat < -#include > -#include > -#include > - > -volatile int done; > - > -void sigalrm(int sig) { > - done = 1; > -} > - > -__attribute__((noinline)) void noploop(void) { > - while (!done) > - continue; > -} > - > -int main(int argc, char *argv[]) { > - int sec = 1; > - > - if (argc > 1) > - sec = atoi(argv[1]); > - > - signal(SIGALRM, sigalrm); > - alarm(sec); > - > - noploop(); > - return 0; > -} > -EOF > - > - > -if ! perf record -e task-clock:u -o - ${file} | perf report -i - --task | grep test.file; then > +if ! perf record -e task-clock:u -o - ${prog} | perf report -i - --task | grep ${task}; then > echo "cannot find the test file in the perf report" > exit 1 > fi > > -if ! perf record -e task-clock:u -o - ${file} | perf inject -b | perf report -i - | grep noploop; then > +if ! perf record -e task-clock:u -o - ${prog} | perf inject -b | perf report -i - | grep ${sym}; then > echo "cannot find noploop function in pipe #1" > exit 1 > fi > > -perf record -e task-clock:u -o - ${file} | perf inject -b -o ${data} > -if ! perf report -i ${data} | grep noploop; then > +perf record -e task-clock:u -o - ${prog} | perf inject -b -o ${data} > +if ! perf report -i ${data} | grep ${sym}; then > echo "cannot find noploop function in pipe #2" > exit 1 > fi > > -perf record -e task-clock:u -o ${data} ${file} > -if ! perf inject -b -i ${data} | perf report -i - | grep noploop; then > +perf record -e task-clock:u -o ${data} ${prog} > +if ! perf inject -b -i ${data} | perf report -i - | grep ${sym}; then > echo "cannot find noploop function in pipe #3" > exit 1 > fi > > > -rm -f ${file} ${data} ${data}.old > +rm -f ${data} ${data}.old > exit 0