From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 90408C3F2C6 for ; Tue, 3 Mar 2020 18:02:36 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 5E856206D5 for ; Tue, 3 Mar 2020 18:02:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1583258556; bh=v1IbuT4NWyYic0LgpWGCsYhxjF2QjGfkvO9EqvZrVtQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=x4MrN8YNBYCoJTE+WMLy5yT7G3bGJQPMU/ZFJU9ch5oa78dF5AcFybdDkYZHegL0K RcdGtrCt2vQeKQP+buE2efOHmfjSngMB8N46ClBt3tv5ey8v2MQAkfs3OZw1u2/KCj PNnHSfCLR8EPIhsdCHKShIlOHkWXwFzFONpZ0hwM= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388247AbgCCSCf (ORCPT ); Tue, 3 Mar 2020 13:02:35 -0500 Received: from mail.kernel.org ([198.145.29.99]:47244 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388244AbgCCSCe (ORCPT ); Tue, 3 Mar 2020 13:02:34 -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 2269B20866; Tue, 3 Mar 2020 18:02:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1583258552; bh=v1IbuT4NWyYic0LgpWGCsYhxjF2QjGfkvO9EqvZrVtQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=TvSEryAWZzOjJBZsXgyjDOxQr+41BncYB5dXHmLn2Sg+E6klGOUzvNVKMKxc+38sR zoHK4vA0PdJahSHyzt0jQjbNVlZX9XRguPXyZE++3wQ/tBa9p+yj1qytTY7JH0URBK +Palot3G6jBhdOfxGBHOrSmuggJP5JKIIxgwVT7k= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Jiri Olsa , Anton Blanchard , Ravi Bangoria , Jiri Olsa , Alexander Shishkin , Jin Yao , Namhyung Kim , Thomas Richter , yuzhoujian@didichuxing.com, Arnaldo Carvalho de Melo , Tommi Rantala Subject: [PATCH 4.19 75/87] perf stat: Fix shadow stats for clock events Date: Tue, 3 Mar 2020 18:44:06 +0100 Message-Id: <20200303174356.997103456@linuxfoundation.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200303174349.075101355@linuxfoundation.org> References: <20200303174349.075101355@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Ravi Bangoria commit 57ddf09173c1e7d0511ead8924675c7198e56545 upstream. Commit 0aa802a79469 ("perf stat: Get rid of extra clock display function") introduced scale and unit for clock events. Thus, perf_stat__update_shadow_stats() now saves scaled values of clock events in msecs, instead of original nsecs. But while calculating values of shadow stats we still consider clock event values in nsecs. This results in a wrong shadow stat values. Ex, # ./perf stat -e task-clock,cycles ls 2.60 msec task-clock:u # 0.877 CPUs utilized 2,430,564 cycles:u # 1215282.000 GHz Fix this by saving original nsec values for clock events in perf_stat__update_shadow_stats(). After patch: # ./perf stat -e task-clock,cycles ls 3.14 msec task-clock:u # 0.839 CPUs utilized 3,094,528 cycles:u # 0.985 GHz Suggested-by: Jiri Olsa Reported-by: Anton Blanchard Signed-off-by: Ravi Bangoria Reviewed-by: Jiri Olsa Cc: Alexander Shishkin Cc: Jin Yao Cc: Namhyung Kim Cc: Thomas Richter Cc: yuzhoujian@didichuxing.com Fixes: 0aa802a79469 ("perf stat: Get rid of extra clock display function") Link: http://lkml.kernel.org/r/20181116042843.24067-1-ravi.bangoria@linux.ibm.com Signed-off-by: Arnaldo Carvalho de Melo Cc: Tommi Rantala Signed-off-by: Greg Kroah-Hartman --- tools/perf/util/stat-shadow.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/tools/perf/util/stat-shadow.c +++ b/tools/perf/util/stat-shadow.c @@ -209,11 +209,12 @@ void perf_stat__update_shadow_stats(stru int cpu, struct runtime_stat *st) { int ctx = evsel_context(counter); + u64 count_ns = count; count *= counter->scale; if (perf_evsel__is_clock(counter)) - update_runtime_stat(st, STAT_NSECS, 0, cpu, count); + update_runtime_stat(st, STAT_NSECS, 0, cpu, count_ns); else if (perf_evsel__match(counter, HARDWARE, HW_CPU_CYCLES)) update_runtime_stat(st, STAT_CYCLES, ctx, cpu, count); else if (perf_stat_evsel__is(counter, CYCLES_IN_TX))