Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp6204933ybv; Tue, 18 Feb 2020 12:00:47 -0800 (PST) X-Google-Smtp-Source: APXvYqxunnvWmEglPDzkNx6dUEJsW2mM12EraXLIc/cbcRFlQXyfHz8J/SsapHA+Y5tKKUZUIVfZ X-Received: by 2002:a9d:6f85:: with SMTP id h5mr16848144otq.19.1582056047272; Tue, 18 Feb 2020 12:00:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1582056047; cv=none; d=google.com; s=arc-20160816; b=iWTNioNiK/Ckb2/ZgCuAL+LaJW2c3npkpvc/+Nqo8uRylKn5KTcdSv7EuZZ+2+lSRD GWlvCjDwM9ASETsd8o0tLRGrur7tjVki6tFu/lh1E/feDaXvnXC71tbfGAaIxuNLsb/9 f2vq6QzmTDVdGlLg7dqGCHNl6fZsGQUO7uGQsbvS2P1LzPpFKYXj9NT4Z69cMq1u9kys OKN2G/sEtQ+UL1oZeUr4iakZq2PLK4RMOM0A7GSnX5iA1RHk9dGYr0XDIxN3VNBCpfea YQmCKx7+lQg8XiuQWH+Xy6tZuP7dgzF9KXiAVtN8p9PSk8a393snQdsS05ovUwky4CBj Cb9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=yILhqK9hp4lzookSmrPnONsEUZQDaKw0AtwzT3zv+bA=; b=XHwHsITgZykrcBkpuvj8ZP9yevfew2OjFzt+kYCFfhQ+r9NhITPjgYRhI7Iy2CFQss J/TDwU0UE+83tP2Ltxb39cJFcCayj+jbSv8VFL1iQeye7lBjLXOtBuLimxEopdE8XuyH 3QDwSQG+iLMee1TGGxlYbVArQNUnh7oGhQCYpFB9Ebw9Q3iQ4+r1YxStAM3aRZpGP9FK Og/6lLuvHhqwmFHsw34HZ3riu9dNCF3XnHgTckkazQdP+s3ZD1ApdMBYCleRiK2u39Ns EW8jW1wXDgwlJvDJyf2d/I/D/2dzZMZH8l5u/PpKsLWRJ2V13c0wD9gyCO2op5GaXfsu 4NIg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Jy5kMjCE; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 10si8203447ois.76.2020.02.18.12.00.34; Tue, 18 Feb 2020 12:00:47 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Jy5kMjCE; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728073AbgBRUAb (ORCPT + 99 others); Tue, 18 Feb 2020 15:00:31 -0500 Received: from mail.kernel.org ([198.145.29.99]:39626 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728582AbgBRUAZ (ORCPT ); Tue, 18 Feb 2020 15:00:25 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 95ACF24670; Tue, 18 Feb 2020 20:00:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1582056025; bh=BzMa2qGO8g16s/WmhDUrJw7bWLJLX8rlwouMNxuw3rc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Jy5kMjCEWJsKEHKg26RGOgR9ft5bewEGIzgyRXG8p1swMR/s1MHoWVDPwln4DZbaK 3OFnMeNv7Je9IbALVIQTuE/ZSHZzyZi0ew94jgYs0a+zjPWvqBUgfVMz2b7Iy8qPk1 +LVjil66MFOYBIPvdjGlaFZ4SEqK5/DRK81a2n4c= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Kim Phillips , Andi Kleen , Jiri Olsa , Song Liu , Alexander Shishkin , Cong Wang , Davidlohr Bueso , Jin Yao , Kan Liang , Mark Rutland , Namhyung Kim , Peter Zijlstra , Arnaldo Carvalho de Melo Subject: [PATCH 5.4 58/66] perf stat: Dont report a null stalled cycles per insn metric Date: Tue, 18 Feb 2020 20:55:25 +0100 Message-Id: <20200218190433.435351946@linuxfoundation.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200218190428.035153861@linuxfoundation.org> References: <20200218190428.035153861@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Kim Phillips commit 80cc7bb6c104d733bff60ddda09f19139c61507c upstream. For data collected on machines with front end stalled cycles supported, such as found on modern AMD CPU families, commit 146540fb545b ("perf stat: Always separate stalled cycles per insn") introduces a new line in CSV output with a leading comma that upsets some automated scripts. Scripts have to use "-e ex_ret_instr" to work around this issue, after upgrading to a version of perf with that commit. We could add "if (have_frontend_stalled && !config->csv_sep)" to the not (total && avg) else clause, to emphasize that CSV users are usually scripts, and are written to do only what is needed, i.e., they wouldn't typically invoke "perf stat" without specifying an explicit event list. But - let alone CSV output - why should users now tolerate a constant 0-reporting extra line in regular terminal output?: BEFORE: $ sudo perf stat --all-cpus -einstructions,cycles -- sleep 1 Performance counter stats for 'system wide': 181,110,981 instructions # 0.58 insn per cycle # 0.00 stalled cycles per insn 309,876,469 cycles 1.002202582 seconds time elapsed The user would not like to see the now permanent: "0.00 stalled cycles per insn" line fixture, as it gives no useful information. So this patch removes the printing of the zeroed stalled cycles line altogether, almost reverting the very original commit fb4605ba47e7 ("perf stat: Check for frontend stalled for metrics"), which seems like it was written to normalize --metric-only column output of common Intel machines at the time: modern Intel machines have ceased to support the genericised frontend stalled metrics AFAICT. AFTER: $ sudo perf stat --all-cpus -einstructions,cycles -- sleep 1 Performance counter stats for 'system wide': 244,071,432 instructions # 0.69 insn per cycle 355,353,490 cycles 1.001862516 seconds time elapsed Output behaviour when stalled cycles is indeed measured is not affected (BEFORE == AFTER): $ sudo perf stat --all-cpus -einstructions,cycles,stalled-cycles-frontend -- sleep 1 Performance counter stats for 'system wide': 247,227,799 instructions # 0.63 insn per cycle # 0.26 stalled cycles per insn 394,745,636 cycles 63,194,485 stalled-cycles-frontend # 16.01% frontend cycles idle 1.002079770 seconds time elapsed Fixes: 146540fb545b ("perf stat: Always separate stalled cycles per insn") Signed-off-by: Kim Phillips Acked-by: Andi Kleen Acked-by: Jiri Olsa Acked-by: Song Liu Cc: Alexander Shishkin Cc: Cong Wang Cc: Davidlohr Bueso Cc: Jin Yao Cc: Kan Liang Cc: Mark Rutland Cc: Namhyung Kim Cc: Peter Zijlstra Link: http://lore.kernel.org/lkml/20200207230613.26709-1-kim.phillips@amd.com Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Greg Kroah-Hartman --- tools/perf/util/stat-shadow.c | 6 ------ 1 file changed, 6 deletions(-) --- a/tools/perf/util/stat-shadow.c +++ b/tools/perf/util/stat-shadow.c @@ -18,7 +18,6 @@ * AGGR_NONE: Use matching CPU * AGGR_THREAD: Not supported? */ -static bool have_frontend_stalled; struct runtime_stat rt_stat; struct stats walltime_nsecs_stats; @@ -144,7 +143,6 @@ void runtime_stat__exit(struct runtime_s void perf_stat__init_shadow_stats(void) { - have_frontend_stalled = pmu_have_event("cpu", "stalled-cycles-frontend"); runtime_stat__init(&rt_stat); } @@ -853,10 +851,6 @@ void perf_stat__print_shadow_stats(struc print_metric(config, ctxp, NULL, "%7.2f ", "stalled cycles per insn", ratio); - } else if (have_frontend_stalled) { - out->new_line(config, ctxp); - print_metric(config, ctxp, NULL, "%7.2f ", - "stalled cycles per insn", 0); } } else if (perf_evsel__match(evsel, HARDWARE, HW_BRANCH_MISSES)) { if (runtime_stat_n(st, STAT_BRANCHES, ctx, cpu) != 0)