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=-11.4 required=3.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL 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 C9B2CC2BA2B for ; Thu, 16 Apr 2020 22:19:20 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id A541E218AC for ; Thu, 16 Apr 2020 22:19:20 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="usOSe4Mz" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728928AbgDPWTT (ORCPT ); Thu, 16 Apr 2020 18:19:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53980 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1728221AbgDPWTR (ORCPT ); Thu, 16 Apr 2020 18:19:17 -0400 Received: from mail-yb1-xb44.google.com (mail-yb1-xb44.google.com [IPv6:2607:f8b0:4864:20::b44]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C605DC061A0C for ; Thu, 16 Apr 2020 15:19:17 -0700 (PDT) Received: by mail-yb1-xb44.google.com with SMTP id g6so2891950ybh.12 for ; Thu, 16 Apr 2020 15:19:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=bEaKlFXLvZkTF1WbImU8k4TjAxStPFiDUhxy9HHTvfo=; b=usOSe4MzkuxL5nKsgNMMsCqcXtZVMEN45JzLMSBeGYs9/bIZkhn/EJBjHeRBszfiV2 u6T+vjWVyfG+1qFiq/iID0tIJjuj4xPq5++MFFAvDO1aPuvlJY0ZxNAhg3SWfJu1RdQ4 aQn+9ljr4WqDs73oyrTY0nDeBiuyLUubH6vkRXAz11xZISE5kL+V+bUimCbkljZXDHW9 vmYqGN5tlCG9qyN9YXvVqyhJpX9i7TBGKksdAjB0wmjLs5r01eHIYFRMO+PmEBwqsqFM VSrhkjNIKqxdMvbAswW+XT/Irt9H4wVLbpSSlqNqCNj4MjrhM2w5DXr7Xojp3EeltJIJ j3uA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=bEaKlFXLvZkTF1WbImU8k4TjAxStPFiDUhxy9HHTvfo=; b=fRUOVFUJCGnn+EFMBlLACZdeM8D0P9f2JWjAhVQd/XO4YQljHdOF+MaCh97L+sue64 Xdhnb4e/2L3iiyxFnYIgPn1pnYsVcOWpWgAg7I4vW8wAxg2EsBaRls1FA1TW2edIpzZ3 sovtx4j9oO8+1ox/A5+Q9OlErJQMOjhhgq27/MA7+nRm5ZarnPR2b/HNE1oa0zGV+VBg 8p8l1zsAX8Nj+MwiEDVmWvmRU3pQq8PXgUVaty+gNdCEXEBWXIRMT0Uo0ZR5YRS6rbPd OJlsUp3DJO191tdVHeKThh3vaPd5w1gCtMKtRU9hjYyrQ+7rjmO54RQ/z+VIKoFE/yR9 FgKA== X-Gm-Message-State: AGi0PuYcNJ20ujXv4OfJ2xJOwHNQacd+swD7pTAJXfWGOQfEjn2AhBci cDrBLYwuhmNm5cIh6pFoKOJfjHCls20e4OOhdz6OSw== X-Google-Smtp-Source: APiQypK/Raydb2Hwqc7lQkm0BcyExmPOSBeLJJw5JSAyZGslZAHoTfuyzKiVUyTTSyLITGOUPmLumbQj4KdqQYNdmGg= X-Received: by 2002:a05:6902:505:: with SMTP id x5mr905928ybs.286.1587075556390; Thu, 16 Apr 2020 15:19:16 -0700 (PDT) MIME-Version: 1.0 References: <20200416063551.47637-1-irogers@google.com> <20200416063551.47637-5-irogers@google.com> <20200416095501.GC369437@krava> <20200416201011.GB414900@krava> In-Reply-To: <20200416201011.GB414900@krava> From: Ian Rogers Date: Thu, 16 Apr 2020 15:19:04 -0700 Message-ID: Subject: Re: [PATCH v9 4/4] perf tools: add support for libpfm4 To: Jiri Olsa 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 Content-Type: text/plain; charset="UTF-8" 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 1:10 PM Jiri Olsa wrote: > > 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? We decided on the former which is in the new patch set. However, the output isn't conditional on the pager being used, which it is in the regular event case. https://lore.kernel.org/lkml/20200416221457.46710-1-irogers@google.com/T/#t Let me know if there is more to address. Thanks! Ian > jirka > From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Rogers Subject: Re: [PATCH v9 4/4] perf tools: add support for libpfm4 Date: Thu, 16 Apr 2020 15:19:04 -0700 Message-ID: References: <20200416063551.47637-1-irogers@google.com> <20200416063551.47637-5-irogers@google.com> <20200416095501.GC369437@krava> <20200416201011.GB414900@krava> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Return-path: In-Reply-To: <20200416201011.GB414900@krava> Sender: linux-kernel-owner@vger.kernel.org To: Jiri Olsa 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 1:10 PM Jiri Olsa wrote: > > 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? We decided on the former which is in the new patch set. However, the output isn't conditional on the pager being used, which it is in the regular event case. https://lore.kernel.org/lkml/20200416221457.46710-1-irogers@google.com/T/#t Let me know if there is more to address. Thanks! Ian > jirka >