Received: by 2002:a05:6358:4e97:b0:b3:742d:4702 with SMTP id ce23csp1703718rwb; Fri, 12 Aug 2022 05:39:47 -0700 (PDT) X-Google-Smtp-Source: AA6agR699Ojg4ozJKeW20CSp+HVWj6r+orE1RnO2QMh9Y1GeHAtmzA0QyoIkQFJksu6TwAbevhDK X-Received: by 2002:a63:e343:0:b0:41c:d5cd:a39 with SMTP id o3-20020a63e343000000b0041cd5cd0a39mr2996447pgj.512.1660307986880; Fri, 12 Aug 2022 05:39:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1660307986; cv=none; d=google.com; s=arc-20160816; b=CO3ZpXFlkSrz63qDpTfBSgUza4hga05c/3oL/0es6OHzFnwgGIf7zUw5D8Shw7zU8b rTHYfMGTaqHBqi98mDZBKeAqV/xgxy77JPZ0kOg3rS+vsgYi9MAxtK2iEDywdE5sqm5J 2TooXnDg16YoYuhzCpALv6wiaDgBOb7WuwD4GBVHLB2rS9kIi+dXRwGp0NwJmpYQZLEC bAzukXapTkWxAPVcxNIj66KqpS/Q9K7y6iAFfv2CtOC7u5Ji/yUBC35D8QTGXuAaEBX2 yt5MEWB8xUvgrSZmukgB4pyYjcVgMhzfYmeP2LU+dP/3+GaNe/ral0YRUC/PQkAwB9wc QGew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=Oun8R2BHKIRs0MP5CSYOz4sfoN+M+Wn6ByGiBtVdyEo=; b=E0JXYaFM3AoZCIJT4WNaBBtNOCQdMwnSKQp5mPIaMKdEEXgAwqYi8FFyBKE9XFxIWB 4tCuosUwPbnBlkwwp/xBhvzWc768ZRMgqeCS7zH8COMHqLAfe7Y/GQa7GftPaBxzAiPa g0PtRgPyl3hVqn/rVOR8sepyosxSsl2Hk096RZVgwzztorK3qu95qyw5RUv0oG9wmbNT s0fieGaxTLAqObD6k55kyR1A3EwiJ7Jsby7CSxy3efibINt3s74YvUGUOMo6if3UDrQT s9FisNeAxfw2qAR7USfx1g8CbweUeKB0tjGqk3SxMYXglM1aVDJjnLhix30yssYO8Si2 CIRw== 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 d8-20020a170903230800b0016d70bd3fd6si2308519plh.77.2022.08.12.05.39.33; Fri, 12 Aug 2022 05:39:46 -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=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238635AbiHLMQ4 (ORCPT + 99 others); Fri, 12 Aug 2022 08:16:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:32826 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237181AbiHLMQy (ORCPT ); Fri, 12 Aug 2022 08:16:54 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 2F5959F1B2; Fri, 12 Aug 2022 05:16:53 -0700 (PDT) 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 B597A106F; Fri, 12 Aug 2022 05:16:53 -0700 (PDT) Received: from e126387.arm.com (unknown [10.57.42.152]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B5BF83F70D; Fri, 12 Aug 2022 05:16:51 -0700 (PDT) From: carsten.haitzler@foss.arm.com To: linux-kernel@vger.kernel.org Cc: coresight@lists.linaro.org, suzuki.poulose@arm.com, mathieu.poirier@linaro.org, mike.leach@linaro.org, leo.yan@linaro.org, linux-perf-users@vger.kernel.org, acme@kernel.org Subject: [PATCH v7 00/14] perf: test: Add trace data quality tests for CoreSight Date: Fri, 12 Aug 2022 13:16:27 +0100 Message-Id: <20220812121641.336465-1-carsten.haitzler@foss.arm.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE 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 From: Carsten Haitzler This is a prelude to adding more tests to shell tests and in order to support putting those tests into subdirectories, I need to change the test code that scans/finds and runs them. To support subdirs I have to recurse so it's time to refactor the code to allow this and centralize the shell script finding into one location and only one single scan that builds a list of all the found tests in memory instead of it being duplicated in 3 places. This code also optimizes things like knowing the max width of desciption strings (as we can do that while we scan instead of a whole new pass of opening files). It also more cleanly filters scripts to see only *.sh files thus skipping random other files in directories like *~ backup files, other random junk/data files that may appear and the scripts must be executable to make the cut (this ensures the script lib dir is not seen as scripts to run). This avoids perf test running previous older versions of test scripts that are editor backup files as well as skipping perf.data files that may appear and so on. Signed-off-by: Carsten Haitzler Carsten Haitzler (14): perf test: Refactor shell tests allowing subdirs perf test: Add CoreSight shell lib shared code for future tests perf test: Add build infra for perf test tools for CoreSight tests perf test: Add asm pureloop test tool perf test: Add asm pureloop test shell script perf test: Add git ignore for perf data generated by the CoreSight tests perf test: Add memcpy thread test tool perf test: Add memcpy thread test shell script perf test: Add thread loop test tool perf test: Add thread loop test shell scripts perf test: Add unroll thread test tool perf test: Add unroll thread test shell script perf test: Add git ignore for tmp and output files of CoreSight tests perf test: Add relevant documentation about CoreSight testing .../trace/coresight/coresight-perf.rst | 158 +++++++++++++ MAINTAINERS | 1 + tools/perf/.gitignore | 6 +- .../perf/Documentation/perf-arm-coresight.txt | 5 + tools/perf/Makefile.config | 2 + tools/perf/Makefile.perf | 17 +- tools/perf/tests/Build | 1 + tools/perf/tests/builtin-test-list.c | 207 ++++++++++++++++++ tools/perf/tests/builtin-test-list.h | 12 + tools/perf/tests/builtin-test.c | 152 ++----------- tools/perf/tests/shell/coresight/Makefile | 30 +++ .../tests/shell/coresight/Makefile.miniconfig | 14 ++ .../tests/shell/coresight/asm_pure_loop.sh | 18 ++ .../shell/coresight/asm_pure_loop/.gitignore | 1 + .../shell/coresight/asm_pure_loop/Makefile | 34 +++ .../coresight/asm_pure_loop/asm_pure_loop.S | 28 +++ .../shell/coresight/memcpy_thread/.gitignore | 1 + .../shell/coresight/memcpy_thread/Makefile | 33 +++ .../coresight/memcpy_thread/memcpy_thread.c | 79 +++++++ .../shell/coresight/memcpy_thread_16k_10.sh | 18 ++ .../shell/coresight/thread_loop/.gitignore | 1 + .../shell/coresight/thread_loop/Makefile | 33 +++ .../shell/coresight/thread_loop/thread_loop.c | 86 ++++++++ .../coresight/thread_loop_check_tid_10.sh | 19 ++ .../coresight/thread_loop_check_tid_2.sh | 19 ++ .../coresight/unroll_loop_thread/.gitignore | 1 + .../coresight/unroll_loop_thread/Makefile | 33 +++ .../unroll_loop_thread/unroll_loop_thread.c | 74 +++++++ .../shell/coresight/unroll_loop_thread_10.sh | 18 ++ tools/perf/tests/shell/lib/coresight.sh | 132 +++++++++++ 30 files changed, 1094 insertions(+), 139 deletions(-) create mode 100644 Documentation/trace/coresight/coresight-perf.rst create mode 100644 tools/perf/Documentation/perf-arm-coresight.txt create mode 100644 tools/perf/tests/builtin-test-list.c create mode 100644 tools/perf/tests/builtin-test-list.h create mode 100644 tools/perf/tests/shell/coresight/Makefile create mode 100644 tools/perf/tests/shell/coresight/Makefile.miniconfig create mode 100755 tools/perf/tests/shell/coresight/asm_pure_loop.sh create mode 100644 tools/perf/tests/shell/coresight/asm_pure_loop/.gitignore create mode 100644 tools/perf/tests/shell/coresight/asm_pure_loop/Makefile create mode 100644 tools/perf/tests/shell/coresight/asm_pure_loop/asm_pure_loop.S create mode 100644 tools/perf/tests/shell/coresight/memcpy_thread/.gitignore create mode 100644 tools/perf/tests/shell/coresight/memcpy_thread/Makefile create mode 100644 tools/perf/tests/shell/coresight/memcpy_thread/memcpy_thread.c create mode 100755 tools/perf/tests/shell/coresight/memcpy_thread_16k_10.sh create mode 100644 tools/perf/tests/shell/coresight/thread_loop/.gitignore create mode 100644 tools/perf/tests/shell/coresight/thread_loop/Makefile create mode 100644 tools/perf/tests/shell/coresight/thread_loop/thread_loop.c create mode 100755 tools/perf/tests/shell/coresight/thread_loop_check_tid_10.sh create mode 100755 tools/perf/tests/shell/coresight/thread_loop_check_tid_2.sh create mode 100644 tools/perf/tests/shell/coresight/unroll_loop_thread/.gitignore create mode 100644 tools/perf/tests/shell/coresight/unroll_loop_thread/Makefile create mode 100644 tools/perf/tests/shell/coresight/unroll_loop_thread/unroll_loop_thread.c create mode 100755 tools/perf/tests/shell/coresight/unroll_loop_thread_10.sh create mode 100644 tools/perf/tests/shell/lib/coresight.sh -- 2.32.0