Received: by 2002:a05:6359:c8b:b0:c7:702f:21d4 with SMTP id go11csp1824446rwb; Fri, 23 Sep 2022 20:24:10 -0700 (PDT) X-Google-Smtp-Source: AMsMyM46dVFNnnJ2Tc/v4+RgPndpxGTgKZ1n1N6ECaIl5kFv/3LyadwJlskBoHd5zczy269WgAtD X-Received: by 2002:a17:907:7206:b0:782:a8fe:9fbd with SMTP id dr6-20020a170907720600b00782a8fe9fbdmr4604594ejc.288.1663989849793; Fri, 23 Sep 2022 20:24:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1663989849; cv=none; d=google.com; s=arc-20160816; b=M8OnRmveuOgLVR9G0WF31/Hd+z8r9lH/e92axrLPSEn77d3/sNoIk7pLh/o8W8OKHb sZH81rM41Tq0KhIlmVwAIzEb2UTLihHN3pUgWTYb5Y0qL+giX+LCV59hBCzERe/naEGh LQCdiuERFnghqDQytzsysAp4H672evlKNMtwxR+m34/qtQDcu8+ahlUAAopbg+dZeA7M XnxjpTNoV2duV/bKbU/DrRPWO0xFCymUNufA7w0zxHgyS6JXkV/YJQxBppoMEYrKYDpB aamR2HiyKJO2lYsp1Ab02VJ5svpRK3rQStkrKT+9DZrgub92Kh2HHY2P6iYz58etWoAw MVzA== 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:dkim-signature; bh=wL47zhHiq/j2A0WBvknBWlKiXgBzwgGyo3DpJQYgDuY=; b=gZ0hDhx2Yqk9w0Nf9WKx+KHJxvS+o+J5zmKji53woe+XXIysnAna1yq+RTfoGbhPqJ l3SjFF5XArlCRC/g8hCfSctB/2uVSE8HYLXekQcnksIfLffJxc0jQY3LLPHwrmgVIPYz yNgpNcnv1qm+l/78bWoONH7VQ8tZ4ebrt+Z+G1UkqG5OlkJtXzFdI8bLHwGWOhY3qXPs ZQLpMQisfPeCo2reLAGgK6DbQs8QG4NCO5x/BBETHDy+MNFzpaw1q0Vwv+FcU187gfp5 NAo3L6yusYyTPozh6/6ht4ygF1o2ZIbtJd5IW0IRWPqRl8PPTkJWrxWQDE1DkKepxfWD D6FQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=HYkZn1Rj; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h24-20020a50cdd8000000b00447879e8221si9073191edj.247.2022.09.23.20.23.42; Fri, 23 Sep 2022 20:24:09 -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; dkim=pass header.i=@google.com header.s=20210112 header.b=HYkZn1Rj; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233239AbiIXCu1 (ORCPT + 99 others); Fri, 23 Sep 2022 22:50:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60088 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233192AbiIXCuY (ORCPT ); Fri, 23 Sep 2022 22:50:24 -0400 Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com [IPv6:2a00:1450:4864:20::42b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0D27089829 for ; Fri, 23 Sep 2022 19:50:17 -0700 (PDT) Received: by mail-wr1-x42b.google.com with SMTP id n12so2486945wrx.9 for ; Fri, 23 Sep 2022 19:50:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date; bh=wL47zhHiq/j2A0WBvknBWlKiXgBzwgGyo3DpJQYgDuY=; b=HYkZn1RjCk5aYEFzRamswVfdOi92tu3C+xNnlhnIpPOHylbj0jA+2SbU848yOyf6cF 9NqyZoWjX0wisq5a3Ex+YrVzXDi4x0Kr4qipf6uwklCquc1d5NL7Hw7Ty90qjPJErHkC vVVARtd7CL5STxaZ0pyokK31+2Skp9yXmoyaXP16lU0y/z2ZddBr2i3WeAmIhgFskpCo akk1YDoQS9oDm0GyEen6g2P1zW1e8qi6nREZE+ZV5k35WQ6u0j9AwIhx2rfJ5bLVQny2 SMiO4+9UJiy3g5D60Satbkxr/07qXfW/Das44UJIQD9JoQETya6ZdqbUW8QIRMUJIUlZ ilTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date; bh=wL47zhHiq/j2A0WBvknBWlKiXgBzwgGyo3DpJQYgDuY=; b=TjkV9Z9UzgxZTrZjx1ZlRa29RlfGlDltdHrsqsNfMU01+zZI7k1IpuMA+osts0p8yQ nrOBVJaXoLiNJOf1WxrlzKp3qrbOJE4LVm6m4podAXAEkebfyCX0GUOr4pVPz08sIFnM 4gNYqoVn3hjHb21Z75TKMzjTBPZLMeUiC7cAkn1l29qEJGtKlZPWOOOC/w5VSTA/Kd23 I8o8+vQgYG7aUDfw7eSAD3oYPQvlHI7JAiPEAI/nohRJnd54xX5Y/lFOY9K7OG3Df9od AIzZPWhpJdb9bkZLwDwDCXuT0hr5b59b8FhiW0IJd44hSt/7Eb4mgrIcysLCFl7a37vp qhhg== X-Gm-Message-State: ACrzQf0kforeMTXvtAPDIsyxhBQsQj9D5+rP2iohg4Gp0D/DpIHMA3pQ 68F8tQlVVjasEGBqWhLXZ2D8pCOV2BASlVxqeSt9EA== X-Received: by 2002:adf:e4ca:0:b0:228:d8b7:48a7 with SMTP id v10-20020adfe4ca000000b00228d8b748a7mr6659816wrm.300.1663987816166; Fri, 23 Sep 2022 19:50:16 -0700 (PDT) MIME-Version: 1.0 References: <20220924004221.841024-1-namhyung@kernel.org> <20220924004221.841024-3-namhyung@kernel.org> In-Reply-To: <20220924004221.841024-3-namhyung@kernel.org> From: Ian Rogers Date: Fri, 23 Sep 2022 19:50:03 -0700 Message-ID: Subject: Re: [PATCH 3/3] perf test: Add kernel lock contention test To: Namhyung Kim Cc: Arnaldo Carvalho de Melo , Jiri Olsa , Ingo Molnar , Peter Zijlstra , LKML , Adrian Hunter , linux-perf-users@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-17.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, USER_IN_DEF_DKIM_WL,USER_IN_DEF_SPF_WL 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 Fri, Sep 23, 2022 at 5:42 PM Namhyung Kim wrote: > > Add a new shell test to check if both normal perf lock record + > contention and BPF (with -b) option are working. Use perf bench > sched messaging as a workload since it'd create some contention for > sending and receiving messages. > > Signed-off-by: Namhyung Kim Great! Acked-by: Ian Rogers Thanks, Ian > --- > tools/perf/tests/shell/lock_contention.sh | 73 +++++++++++++++++++++++ > 1 file changed, 73 insertions(+) > create mode 100755 tools/perf/tests/shell/lock_contention.sh > > diff --git a/tools/perf/tests/shell/lock_contention.sh b/tools/perf/tests/shell/lock_contention.sh > new file mode 100755 > index 000000000000..04bf604e3c6f > --- /dev/null > +++ b/tools/perf/tests/shell/lock_contention.sh > @@ -0,0 +1,73 @@ > +#!/bin/sh > +# kernel lock contention analysis test > +# SPDX-License-Identifier: GPL-2.0 > + > +set -e > + > +err=0 > +perfdata=$(mktemp /tmp/__perf_test.perf.data.XXXXX) > +result=$(mktemp /tmp/__perf_test.result.XXXXX) > + > +cleanup() { > + rm -f ${perfdata} > + rm -f ${result} > + trap - exit term int > +} > + > +trap_cleanup() { > + cleanup > + exit ${err} > +} > +trap trap_cleanup exit term int > + > +check() { > + if [ `id -u` != 0 ]; then > + echo "[Skip] No root permission" > + err=2 > + exit > + fi > + > + if ! perf list | grep -q lock:contention_begin; then > + echo "[Skip] No lock contention tracepoints" > + err=2 > + exit > + fi > +} > + > +test_record() > +{ > + echo "Testing perf lock record and perf lock contention" > + perf lock record -o ${perfdata} -- perf bench sched messaging > /dev/null 2>&1 > + # the output goes to the stderr and we expect only 1 output (-E 1) > + perf lock contention -i ${perfdata} -E 1 -q 2> ${result} > + if [ $(cat "${result}" | wc -l) != "1" ]; then > + echo "[Fail] Recorded result count is not 1:" $(cat "${result}" | wc -l) > + err=1 > + exit > + fi > +} > + > +test_bpf() > +{ > + echo "Testing perf lock contention --use-bpf" > + > + if ! perf lock con -b true > /dev/null 2>&1 ; then > + echo "[Skip] No BPF support" > + exit > + fi > + > + # the perf lock contention output goes to the stderr > + perf lock con -a -b -E 1 -q -- perf bench sched messaging > /dev/null 2> ${result} > + if [ $(cat "${result}" | wc -l) != "1" ]; then > + echo "[Fail] BPF result count is not 1:" $(cat "${result}" | wc -l) > + err=1 > + exit > + fi > +} > + > +check > + > +test_record > +test_bpf > + > +exit ${err} > -- > 2.37.3.998.g577e59143f-goog >