Received: by 2002:a05:6358:45e:b0:b5:b6eb:e1f9 with SMTP id 30csp761160rwe; Fri, 26 Aug 2022 14:03:34 -0700 (PDT) X-Google-Smtp-Source: AA6agR65SsQnY5LDfV0OhOevYtPGNrXQQWKn4xhHPxq3yEm+EPrV9XCA+epGZaT3LXOe4cKS+aaT X-Received: by 2002:a63:cf4f:0:b0:429:9cea:5a4a with SMTP id b15-20020a63cf4f000000b004299cea5a4amr4514717pgj.508.1661547814337; Fri, 26 Aug 2022 14:03:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1661547814; cv=none; d=google.com; s=arc-20160816; b=dPLzDsR/kt/4RJyRkLceVAej7EGHgnw5egD4+DP2vmijx7JoGz5iDIShc2uma3/vNc YRz6GpbAn6UA1mBsXtHYdE/XniE6UiAssly7ioSZRwv6/6tfuhmFvuidiSJ2dxXIUUeo dszRB8QSGDptraPLTDijTZaiSlVHufEomtx0lsw+cpNOZJyQC6K651tN5K7szm9QJbFO QEWJmMV67/QToHHK4KumlJawKsBD6z3hyY8ZYDDP4UtbFmkLjvNitCE2XuPi2VhQ7DdB xCcA3n2gQFZZ54a9JSw/Jl5cqABtd6BVTul43C+3PPrEbcSQ0UKZfRxl4PK4eoy6cjq2 Kjdg== 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=dvxno4X8i6Habr4MW9y4dL3pbii1oz+8XCqowt3Ghik=; b=PnpfiF6WNZGT7Dbxs9ddbi0VjrkfDWsGQ48b9WPatjXWfRD4rFG/kKyqGJJJvJIzYD +5PWNTBqDokJn3O+30nhXHpB82XWC8jAQtK2vAa197gtAqQh0StU+XQ745uDdLkGQJOb z16jLx4H6IxLXmzJ28TAny6ZIsuS9s5SWXhHgjjSBzpFK9suvQb17sxuvPiAsW0vfTHm Drop8NONTFDA5aSf+W9N+7udcH36n2cq3dgiCQYMbB6mVA4Vwe8iQgZi0ptyDkQFyNOD mdDXmkeZUjaJsDib+NdwwofOoI1l2TNR2Qg3g+4fMyV+phblONh15lB8itEH4uhA6uwJ M7Fw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=lIkVRggy; 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 i6-20020a17090adc0600b001fb23bb1c9csi2538865pjv.43.2022.08.26.14.03.22; Fri, 26 Aug 2022 14:03:34 -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=lIkVRggy; 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 S239180AbiHZUy0 (ORCPT + 99 others); Fri, 26 Aug 2022 16:54:26 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58438 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231639AbiHZUyY (ORCPT ); Fri, 26 Aug 2022 16:54:24 -0400 Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com [IPv6:2a00:1450:4864:20::436]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AA4CFD419C for ; Fri, 26 Aug 2022 13:54:22 -0700 (PDT) Received: by mail-wr1-x436.google.com with SMTP id n17so3121607wrm.4 for ; Fri, 26 Aug 2022 13:54:22 -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; bh=dvxno4X8i6Habr4MW9y4dL3pbii1oz+8XCqowt3Ghik=; b=lIkVRggySk4QpXUZQ/Sw1+9Fw2/Kd+29Yy/kgdXnM6oEAYgW9O5w3XYYnQ0C817H4z bZS5LJEdFF9LFJPUCArbmo2Y8phPoC0TSzOIY/viAzXhjx5HVwRUTD34zmUOTzBRHHuK hP+iHWmy7Bo1vU1o2YxFB4QfenZnpGq10qXZu14llyg4g/PynWta8chdviJAoJewC5Fm X3pagtWM9fHD+Fk8ALzzFa0uA0xM2a+nZnvRVSNVRupFC3WfyYytQKOs0ZSG8lpoXsAS 5jLMTHUxYPlb17ljnrxtOKKTPS/hz8FyAjqtMRvOftu3Q942nG8xCQEYzO4KTQv1v1bN lGGg== 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; bh=dvxno4X8i6Habr4MW9y4dL3pbii1oz+8XCqowt3Ghik=; b=l/PGhTP1kpoP468mgaEGQ9JxM6dvfqRXYXd5HCzUCcZPoYpsb9EUPe6mGG5oW4Yba3 z4hRRo7T+bX+vQmbeFXmRM1QJ6l0suf0lBSpRwmpYy/+OmI82uzKW0byQ8PSAK3ZsM/P 2SvDUm1JahOMzTsAW3QppQTZ1agVE+d0j3ErqxyBypsjMgAahCt3xcLi/gFoMJ4ZX5GD hyXzdtwR1X21hYqYtu1w0HzKza89kkLXGJxGwAmmQw1YkSP+arSg0GCB4iBnxnKe852d me0roWrViWGsgSjoAdriG12VU3VfJKlGEI60YQRfrx6MIcTcyBOZylUfZnuJAjvo7jQv Jo4w== X-Gm-Message-State: ACgBeo2aEphxN/n/NqkOxnN4x1hoIXZP3TO67HFLhjtV+/PldqNuYBUg PRRS8XmDc0RngEm1LYrkbkPLQoEdB2Z+oQ3yZ7OWLA== X-Received: by 2002:a05:6000:1a87:b0:222:2c85:2f5b with SMTP id f7-20020a0560001a8700b002222c852f5bmr742347wry.654.1661547261033; Fri, 26 Aug 2022 13:54:21 -0700 (PDT) MIME-Version: 1.0 References: <20220825015458.3252239-1-zhengjun.xing@linux.intel.com> In-Reply-To: <20220825015458.3252239-1-zhengjun.xing@linux.intel.com> From: Ian Rogers Date: Fri, 26 Aug 2022 13:54:09 -0700 Message-ID: Subject: Re: [PATCH] perf stat: Capitalize topdown metrics' names To: zhengjun.xing@linux.intel.com Cc: acme@kernel.org, peterz@infradead.org, mingo@redhat.com, alexander.shishkin@intel.com, jolsa@kernel.org, namhyung@kernel.org, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, ak@linux.intel.com, kan.liang@linux.intel.com 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, T_SCC_BODY_TEXT_LINE,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 Wed, Aug 24, 2022 at 6:53 PM wrote: > > From: Zhengjun Xing > > Capitalize topdown metrics' names to follow the intel SDM. > > Before: > > # ./perf stat -a sleep 1 > > Performance counter stats for 'system wide': > > 228,094.05 msec cpu-clock # 225.026 CPUs utilized > 842 context-switches # 3.691 /sec > 224 cpu-migrations # 0.982 /sec > 70 page-faults # 0.307 /sec > 23,164,105 cycles # 0.000 GHz > 29,403,446 instructions # 1.27 insn per cycle > 5,268,185 branches # 23.097 K/sec > 33,239 branch-misses # 0.63% of all branches > 136,248,990 slots # 597.337 K/sec > 32,976,450 topdown-retiring # 24.2% retiring > 4,651,918 topdown-bad-spec # 3.4% bad speculation > 26,148,695 topdown-fe-bound # 19.2% frontend bound > 72,515,776 topdown-be-bound # 53.2% backend bound > 6,008,540 topdown-heavy-ops # 4.4% heavy operations # 19.8% light operations > 3,934,049 topdown-br-mispredict # 2.9% branch mispredict # 0.5% machine clears > 16,655,439 topdown-fetch-lat # 12.2% fetch latency # 7.0% fetch bandwidth > 41,635,972 topdown-mem-bound # 30.5% memory bound # 22.7% Core bound > > 1.013634593 seconds time elapsed > > After: > > # ./perf stat -a sleep 1 > > Performance counter stats for 'system wide': > > 228,081.94 msec cpu-clock # 225.003 CPUs utilized > 824 context-switches # 3.613 /sec > 224 cpu-migrations # 0.982 /sec > 67 page-faults # 0.294 /sec > 22,647,423 cycles # 0.000 GHz > 28,870,551 instructions # 1.27 insn per cycle > 5,167,099 branches # 22.655 K/sec > 32,383 branch-misses # 0.63% of all branches > 133,411,074 slots # 584.926 K/sec > 32,352,607 topdown-retiring # 24.3% Retiring > 4,456,977 topdown-bad-spec # 3.3% Bad Speculation > 25,626,487 topdown-fe-bound # 19.2% Frontend Bound > 70,955,316 topdown-be-bound # 53.2% Backend Bound > 5,834,844 topdown-heavy-ops # 4.4% Heavy Operations # 19.9% Light Operations > 3,738,781 topdown-br-mispredict # 2.8% Branch Mispredict # 0.5% Machine Clears > 16,286,803 topdown-fetch-lat # 12.2% Fetch Latency # 7.0% Fetch Bandwidth > 40,802,069 topdown-mem-bound # 30.6% Memory Bound # 22.6% Core Bound > > 1.013683125 seconds time elapsed > > Signed-off-by: Zhengjun Xing > Reviewed-by: Kan Liang Acked-by: Ian Rogers Thanks, Ian > --- > tools/perf/util/stat-shadow.c | 24 ++++++++++++------------ > 1 file changed, 12 insertions(+), 12 deletions(-) > > diff --git a/tools/perf/util/stat-shadow.c b/tools/perf/util/stat-shadow.c > index 979c8cb918f7..788ce5e46470 100644 > --- a/tools/perf/util/stat-shadow.c > +++ b/tools/perf/util/stat-shadow.c > @@ -1193,7 +1193,7 @@ void perf_stat__print_shadow_stats(struct perf_stat_config *config, > &rsd); > if (retiring > 0.7) > color = PERF_COLOR_GREEN; > - print_metric(config, ctxp, color, "%8.1f%%", "retiring", > + print_metric(config, ctxp, color, "%8.1f%%", "Retiring", > retiring * 100.); > } else if (perf_stat_evsel__is(evsel, TOPDOWN_FE_BOUND) && > full_td(cpu_map_idx, st, &rsd)) { > @@ -1202,7 +1202,7 @@ void perf_stat__print_shadow_stats(struct perf_stat_config *config, > &rsd); > if (fe_bound > 0.2) > color = PERF_COLOR_RED; > - print_metric(config, ctxp, color, "%8.1f%%", "frontend bound", > + print_metric(config, ctxp, color, "%8.1f%%", "Frontend Bound", > fe_bound * 100.); > } else if (perf_stat_evsel__is(evsel, TOPDOWN_BE_BOUND) && > full_td(cpu_map_idx, st, &rsd)) { > @@ -1211,7 +1211,7 @@ void perf_stat__print_shadow_stats(struct perf_stat_config *config, > &rsd); > if (be_bound > 0.2) > color = PERF_COLOR_RED; > - print_metric(config, ctxp, color, "%8.1f%%", "backend bound", > + print_metric(config, ctxp, color, "%8.1f%%", "Backend Bound", > be_bound * 100.); > } else if (perf_stat_evsel__is(evsel, TOPDOWN_BAD_SPEC) && > full_td(cpu_map_idx, st, &rsd)) { > @@ -1220,7 +1220,7 @@ void perf_stat__print_shadow_stats(struct perf_stat_config *config, > &rsd); > if (bad_spec > 0.1) > color = PERF_COLOR_RED; > - print_metric(config, ctxp, color, "%8.1f%%", "bad speculation", > + print_metric(config, ctxp, color, "%8.1f%%", "Bad Speculation", > bad_spec * 100.); > } else if (perf_stat_evsel__is(evsel, TOPDOWN_HEAVY_OPS) && > full_td(cpu_map_idx, st, &rsd) && (config->topdown_level > 1)) { > @@ -1234,13 +1234,13 @@ void perf_stat__print_shadow_stats(struct perf_stat_config *config, > > if (retiring > 0.7 && heavy_ops > 0.1) > color = PERF_COLOR_GREEN; > - print_metric(config, ctxp, color, "%8.1f%%", "heavy operations", > + print_metric(config, ctxp, color, "%8.1f%%", "Heavy Operations", > heavy_ops * 100.); > if (retiring > 0.7 && light_ops > 0.6) > color = PERF_COLOR_GREEN; > else > color = NULL; > - print_metric(config, ctxp, color, "%8.1f%%", "light operations", > + print_metric(config, ctxp, color, "%8.1f%%", "Light Operations", > light_ops * 100.); > } else if (perf_stat_evsel__is(evsel, TOPDOWN_BR_MISPREDICT) && > full_td(cpu_map_idx, st, &rsd) && (config->topdown_level > 1)) { > @@ -1254,13 +1254,13 @@ void perf_stat__print_shadow_stats(struct perf_stat_config *config, > > if (bad_spec > 0.1 && br_mis > 0.05) > color = PERF_COLOR_RED; > - print_metric(config, ctxp, color, "%8.1f%%", "branch mispredict", > + print_metric(config, ctxp, color, "%8.1f%%", "Branch Mispredict", > br_mis * 100.); > if (bad_spec > 0.1 && m_clears > 0.05) > color = PERF_COLOR_RED; > else > color = NULL; > - print_metric(config, ctxp, color, "%8.1f%%", "machine clears", > + print_metric(config, ctxp, color, "%8.1f%%", "Machine Clears", > m_clears * 100.); > } else if (perf_stat_evsel__is(evsel, TOPDOWN_FETCH_LAT) && > full_td(cpu_map_idx, st, &rsd) && (config->topdown_level > 1)) { > @@ -1274,13 +1274,13 @@ void perf_stat__print_shadow_stats(struct perf_stat_config *config, > > if (fe_bound > 0.2 && fetch_lat > 0.15) > color = PERF_COLOR_RED; > - print_metric(config, ctxp, color, "%8.1f%%", "fetch latency", > + print_metric(config, ctxp, color, "%8.1f%%", "Fetch Latency", > fetch_lat * 100.); > if (fe_bound > 0.2 && fetch_bw > 0.1) > color = PERF_COLOR_RED; > else > color = NULL; > - print_metric(config, ctxp, color, "%8.1f%%", "fetch bandwidth", > + print_metric(config, ctxp, color, "%8.1f%%", "Fetch Bandwidth", > fetch_bw * 100.); > } else if (perf_stat_evsel__is(evsel, TOPDOWN_MEM_BOUND) && > full_td(cpu_map_idx, st, &rsd) && (config->topdown_level > 1)) { > @@ -1294,13 +1294,13 @@ void perf_stat__print_shadow_stats(struct perf_stat_config *config, > > if (be_bound > 0.2 && mem_bound > 0.2) > color = PERF_COLOR_RED; > - print_metric(config, ctxp, color, "%8.1f%%", "memory bound", > + print_metric(config, ctxp, color, "%8.1f%%", "Memory Bound", > mem_bound * 100.); > if (be_bound > 0.2 && core_bound > 0.1) > color = PERF_COLOR_RED; > else > color = NULL; > - print_metric(config, ctxp, color, "%8.1f%%", "Core bound", > + print_metric(config, ctxp, color, "%8.1f%%", "Core Bound", > core_bound * 100.); > } else if (evsel->metric_expr) { > generic_metric(config, evsel->metric_expr, evsel->metric_events, NULL, > -- > 2.25.1 >