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=-3.9 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS autolearn=no 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 0CC7BC3815B for ; Thu, 16 Apr 2020 20:10:42 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id DCEFA21841 for ; Thu, 16 Apr 2020 20:10:41 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="e8fKabtc" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728606AbgDPUKl (ORCPT ); Thu, 16 Apr 2020 16:10:41 -0400 Received: from us-smtp-2.mimecast.com ([207.211.31.81]:34157 "EHLO us-smtp-delivery-1.mimecast.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727905AbgDPUKk (ORCPT ); Thu, 16 Apr 2020 16:10:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1587067838; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=+qvuVM962jw7kYq4Y9qfz/NOtli8L6Q3Rt5E3jbPz28=; b=e8fKabtcpPVL8Y3EPrtrSDMOFazOrgIkwg4koFpnRs23fgrNB/FtwYAwh8+0IFoHgRv2vo ednvrpUQGdB3NUYndcfuTTQUuaIiuDmeODYBVc7AScDFdlzLn0etbtIBfoLGZq5j2gdW7b gEgv1cONgWpeChvfB+cW6vEFL1COM/U= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-197-xmXwcOAlMReTy_QwXm77Gg-1; Thu, 16 Apr 2020 16:10:31 -0400 X-MC-Unique: xmXwcOAlMReTy_QwXm77Gg-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 16FC718CA243; Thu, 16 Apr 2020 20:10:27 +0000 (UTC) Received: from krava (unknown [10.40.195.119]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 8414E99DEE; Thu, 16 Apr 2020 20:10:15 +0000 (UTC) Date: Thu, 16 Apr 2020 22:10:11 +0200 From: Jiri Olsa To: Ian Rogers Cc: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Namhyung Kim , Alexei Starovoitov , Daniel Borkmann , Martin KaFai Lau , Yonghong Song , Andrii Nakryiko , Greg Kroah-Hartman , Thomas Gleixner , Igor Lubashev , Alexey Budankov , Florian Fainelli , Adrian Hunter , Andi Kleen , Jiwei Sun , yuzhoujian , Kan Liang , Jin Yao , Leo Yan , John Garry , LKML , netdev@vger.kernel.org, bpf@vger.kernel.org, linux-perf-users , Stephane Eranian Subject: Re: [PATCH v9 4/4] perf tools: add support for libpfm4 Message-ID: <20200416201011.GB414900@krava> References: <20200416063551.47637-1-irogers@google.com> <20200416063551.47637-5-irogers@google.com> <20200416095501.GC369437@krava> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Apr 16, 2020 at 09:02:54AM -0700, Ian Rogers wrote: > On Thu, Apr 16, 2020 at 2:55 AM Jiri Olsa wrote: > > > > On Wed, Apr 15, 2020 at 11:35:51PM -0700, Ian Rogers wrote: > > > From: Stephane Eranian > > > > > > This patch links perf with the libpfm4 library if it is available > > > and NO_LIBPFM4 isn't passed to the build. The libpfm4 library > > > contains hardware event tables for all processors supported by > > > perf_events. It is a helper library that helps convert from a > > > symbolic event name to the event encoding required by the > > > underlying kernel interface. This library is open-source and > > > available from: http://perfmon2.sf.net. > > > > > > With this patch, it is possible to specify full hardware events > > > by name. Hardware filters are also supported. Events must be > > > specified via the --pfm-events and not -e option. Both options > > > are active at the same time and it is possible to mix and match: > > > > > > $ perf stat --pfm-events inst_retired:any_p:c=1:i -e cycles .... > > > > > > Signed-off-by: Stephane Eranian > > > Reviewed-by: Ian Rogers > > > > # perf list > > ... > > perf_raw pfm-events > > r0000 > > [perf_events raw event syntax: r[0-9a-fA-F]+] > > > > skl pfm-events > > UNHALTED_CORE_CYCLES > > [Count core clock cycles whenever the clock signal on the specific core is running (not halted)] > > UNHALTED_REFERENCE_CYCLES > > > > please add ':' behind the '* pfm-events' label > > Thanks! Not sure I follow here. skl here is the pmu. pfm-events is > here just to make it clearer these are --pfm-events. The event is > selected with '--pfm-events UNHALTED_CORE_CYCLES'. Will putting > skl:pfm-events here make it look like that is part of the event > encoding? aah I might have misunderstood the output here then, we have preceeding output like: cache: l1d.replacement [L1D data line replacements] so I thought the 'skl pfm-events' is just a label how about we use the first current label in the middle like: # perf list List of pre-defined events (to be used in -e): current events stuff List of pfm events (to be used in --pfm-xxx): pfm events stuff or maybe put it under 'perf list --pfm', thoughts? jirka From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jiri Olsa Subject: Re: [PATCH v9 4/4] perf tools: add support for libpfm4 Date: Thu, 16 Apr 2020 22:10:11 +0200 Message-ID: <20200416201011.GB414900@krava> References: <20200416063551.47637-1-irogers@google.com> <20200416063551.47637-5-irogers@google.com> <20200416095501.GC369437@krava> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: Ian Rogers Cc: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Namhyung Kim , Alexei Starovoitov , Daniel Borkmann , Martin KaFai Lau , Yonghong Song , Andrii Nakryiko , Greg Kroah-Hartman , Thomas Gleixner , Igor Lubashev , Alexey Budankov , Florian Fainelli , Adrian Hunter , Andi Kleen , Jiwei Sun , yuzhouji List-Id: linux-perf-users.vger.kernel.org On Thu, Apr 16, 2020 at 09:02:54AM -0700, Ian Rogers wrote: > On Thu, Apr 16, 2020 at 2:55 AM Jiri Olsa wrote: > > > > On Wed, Apr 15, 2020 at 11:35:51PM -0700, Ian Rogers wrote: > > > From: Stephane Eranian > > > > > > This patch links perf with the libpfm4 library if it is available > > > and NO_LIBPFM4 isn't passed to the build. The libpfm4 library > > > contains hardware event tables for all processors supported by > > > perf_events. It is a helper library that helps convert from a > > > symbolic event name to the event encoding required by the > > > underlying kernel interface. This library is open-source and > > > available from: http://perfmon2.sf.net. > > > > > > With this patch, it is possible to specify full hardware events > > > by name. Hardware filters are also supported. Events must be > > > specified via the --pfm-events and not -e option. Both options > > > are active at the same time and it is possible to mix and match: > > > > > > $ perf stat --pfm-events inst_retired:any_p:c=1:i -e cycles .... > > > > > > Signed-off-by: Stephane Eranian > > > Reviewed-by: Ian Rogers > > > > # perf list > > ... > > perf_raw pfm-events > > r0000 > > [perf_events raw event syntax: r[0-9a-fA-F]+] > > > > skl pfm-events > > UNHALTED_CORE_CYCLES > > [Count core clock cycles whenever the clock signal on the specific core is running (not halted)] > > UNHALTED_REFERENCE_CYCLES > > > > please add ':' behind the '* pfm-events' label > > Thanks! Not sure I follow here. skl here is the pmu. pfm-events is > here just to make it clearer these are --pfm-events. The event is > selected with '--pfm-events UNHALTED_CORE_CYCLES'. Will putting > skl:pfm-events here make it look like that is part of the event > encoding? aah I might have misunderstood the output here then, we have preceeding output like: cache: l1d.replacement [L1D data line replacements] so I thought the 'skl pfm-events' is just a label how about we use the first current label in the middle like: # perf list List of pre-defined events (to be used in -e): current events stuff List of pfm events (to be used in --pfm-xxx): pfm events stuff or maybe put it under 'perf list --pfm', thoughts? jirka