Received: by 2002:a05:6a10:6d10:0:0:0:0 with SMTP id gq16csp598645pxb; Fri, 15 Apr 2022 07:04:37 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw/T/iMEO5qJcUXfG3R8PhxQbPt33ZoWk3qciSHPh2PiSq4QzcNiZzp3rfEuTXZ6eQdy4j3 X-Received: by 2002:a05:6402:5186:b0:419:49af:428f with SMTP id q6-20020a056402518600b0041949af428fmr8530464edd.177.1650031476871; Fri, 15 Apr 2022 07:04:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650031476; cv=none; d=google.com; s=arc-20160816; b=bAgB/kd/nY/+OG44oWtaSF2N1AQpiBQNwalYzWO+r/aO9Kl1eRX3P2VEJYsnaiYvs2 5/lxRrNqm29pAnwN5O6qa1vGen3nvBzAH146LPrxo76fbptfFonxa+wj7xJumSChSh+J lAN4qQdWWjxJEyFouaxFwkHuVKgSU7i2dl5F7vrEPDWlWOqFdFNanOEX3adJOy+1iQZp 0avB3jnLyZcxxh0rKH9RW7zjsQ/dVE/cijJHTU3BHT2DRqiG932l2BZdXAE8v5gmVE5p FSA7A/vn8d5P48xhwTWq+LuzdgZyVx6khiSm0YAHUzmn90sGfSVgbHcILJ00PrX7J3fB ijqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version; bh=s0axfJZEmxaCKVXrZmpXmL0/SQ+GEx15ttfkdwtz2SM=; b=Iw6Y8wxKno2bK33QcO7czNLdcwY9DY/bkstAzN4UHwqjHYYyHU6uHrYlMPJQeu4rlw UXLJCR3pHMIt1gS94NMTKMkmzGHXFdHXYNnghnqCLj+uAKBNhXacLtPHDIVh7z9b4mtV EMoiIS5Zvkd+hyhCp0EZzf9MMHq+MCZ0SzLptQqhSUReNzGbur6k6jdpy6NHAcyg7l29 WdsRRB4T+PnjW4heftRWbeq9q+PCSu38L3i9PqO0vgSfNRv0fITUY4lecv0Q8b+qLdO+ 4PTwm77sIUoir67GET/RUw/gnQ0QS7ERmKbHjT2cuBJrJnJMrzJRWB2Zeh0vLv9XUlYM JQOw== 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l1-20020a170906078100b006e86da92b15si1129477ejc.904.2022.04.15.07.03.55; Fri, 15 Apr 2022 07:04:36 -0700 (PDT) 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236104AbiDMUPo (ORCPT + 99 others); Wed, 13 Apr 2022 16:15:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36586 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232478AbiDMUPm (ORCPT ); Wed, 13 Apr 2022 16:15:42 -0400 Received: from mail-lf1-f46.google.com (mail-lf1-f46.google.com [209.85.167.46]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8A5B47EB30; Wed, 13 Apr 2022 13:13:19 -0700 (PDT) Received: by mail-lf1-f46.google.com with SMTP id o2so5476028lfu.13; Wed, 13 Apr 2022 13:13:19 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=s0axfJZEmxaCKVXrZmpXmL0/SQ+GEx15ttfkdwtz2SM=; b=PwXtHJRZKEGg5kNGcq4zFPILRsRU/Zre+9gYC/nbNHa61SzylEhyVELuV18Y1Aiv2z i1AMB4sbRCxezZDvkYEsmBd94uBtqxKXovgQc1QF8ZPApxbXJNOBc4Hqt5v+lK0YdOeg aT8wV46U32Q80RUuIYncaYGhGOUz+14ZyAgJgoymNOOns50L/tQNgxoMLYzs1IXpcZqg X5yQjSBJoWqKzABg7cBAY5t2ekBDzV2hz0PkGwCK5mOM/dadZccdWRJ34cMCykyfWK9/ 6gcYVIfQXmMj0RdbTZQGc5W+JY79uFarpsgCnfV/1fpRDzLf9DrnH0dC8jZ57B8B+8x8 PNfQ== X-Gm-Message-State: AOAM5331gpUtjz7tQRRCgZfF0Ym7r13afD42YiavD4MPb5S6/32OoWml zwHy4WA5fk38AEkSlHpKJ8b7rSVCFLS/Qb6tCOW30MhaCDY= X-Received: by 2002:ac2:5df8:0:b0:46d:9fc:ff0f with SMTP id z24-20020ac25df8000000b0046d09fcff0fmr1010479lfq.454.1649880797787; Wed, 13 Apr 2022 13:13:17 -0700 (PDT) MIME-Version: 1.0 References: <20220412062133.2546080-1-irogers@google.com> <20220412062133.2546080-3-irogers@google.com> In-Reply-To: <20220412062133.2546080-3-irogers@google.com> From: Namhyung Kim Date: Wed, 13 Apr 2022 13:13:06 -0700 Message-ID: Subject: Re: [PATCH 3/3] perf test: Add basic perf record tests To: Ian Rogers Cc: Alexey Bayduraev , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Alexey Bayduraev , Andi Kleen , Riccardo Mancini , linux-kernel , linux-perf-users , Stephane Eranian Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-1.4 required=5.0 tests=BAYES_00, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=no 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 Hi Ian, On Mon, Apr 11, 2022 at 11:21 PM Ian Rogers wrote: > > Test the --per-thread flag. > Test Intel machine state capturing. Probably we want to add more later.. > > Signed-off-by: Ian Rogers > --- > tools/perf/tests/shell/record.sh | 37 ++++++++++++++++++++++++++++++++ > 1 file changed, 37 insertions(+) > create mode 100755 tools/perf/tests/shell/record.sh > > diff --git a/tools/perf/tests/shell/record.sh b/tools/perf/tests/shell/record.sh > new file mode 100755 > index 000000000000..2c85e73a0af4 > --- /dev/null > +++ b/tools/perf/tests/shell/record.sh > @@ -0,0 +1,37 @@ > +#!/bin/sh > +# perf record tests > +# SPDX-License-Identifier: GPL-2.0 > + > +set -e > + > +err=0 > +test_per_thread() { > + echo "Basic --per-thread mode test" > + perf record -o - --per-thread true | perf report -i - > /dev/null I think it should check the output of the perf report. The current code produces no samples.. $ perf record --per-thread -o- true | perf report -i- -q [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.000 MB - ] Error: The - data has no samples! We can just grep 'true' in the comm. Thanks, Namhyung > + echo "Basic --per-thread mode test [Success]" > +} > + > +test_register_capture() { > + echo "Register capture test" > + if ! perf list | egrep -q 'br_inst_retired.near_call' > + then > + echo "Register capture test [Skipped missing instruction]" > + return > + fi > + if ! perf record --intr-regs=\? 2>&1 | egrep -q 'available registers: AX BX CX DX SI DI BP SP IP FLAGS CS SS R8 R9 R10 R11 R12 R13 R14 R15' > + then > + echo "Register capture test [Skipped missing registers]" > + return > + fi > + if ! perf record -o - --intr-regs=di,r8,dx,cx -e cpu/br_inst_retired.near_call/p -c 1000 --per-thread true | perf script -F ip,sym,iregs -i - | egrep -q "DI:" > + then > + echo "Register capture test [Failed missing output]" > + err=1 > + return > + fi > + echo "Register capture test [Success]" > +} > + > +test_per_thread > +test_register_capture > +exit $err > -- > 2.35.1.1178.g4f1659d476-goog >