Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp1352373rwd; Thu, 18 May 2023 10:54:25 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5+fMjNHJQCO2YqlCYuIkS2/mD6cY3+YguVE8UQhuOrGX4ti16P2547TALrlcrZVTN1xQVn X-Received: by 2002:a17:902:da92:b0:1ac:a887:d33c with SMTP id j18-20020a170902da9200b001aca887d33cmr4219035plx.69.1684432465386; Thu, 18 May 2023 10:54:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684432465; cv=none; d=google.com; s=arc-20160816; b=buHLSkSk3rjUQJ30aZWn4Ws5yJPuh450EsNk8w6qlQQ6EtXDnT5el0X4y6amFj2/UO L5tocTyQact1mYkX19wEfDoV1HPV+ACAYCPdbX2ttNLEr4/vO4MDHIN+EhSklowZdENg 0Jax6/abpm8JMvJipgx1ilsPDDB3s4jBgnZdWE9TPaFAd+78ZStWvaIYCs4SAFA3yBog up/iOkXlkTi8c369MLZGNsHyrpMPK82dDvEicYaTXRMowvYjLAIWv7TH1Wsb12UTsqho tG97HMMhRfuI0hpsbj10UTAsuQVzVy4XyPLRhvezO208pmCK2Nj9lApjhnd3yWq/M7BG 0EfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=jZnbjKFvmOlTsoc3N6GH7ooi1XZr1x/v8p7e2HZX0F4=; b=eEC+gb54cgV/+Juf8vepLKd5Wksu2C07BMVxPz3PJCMw+L3qkg9GgUWGslkc3Hpsl/ PL6f9sRw9PRINdOYZLpdYtXNk4MRNZZRnluv7YJazfW0/Xa+UU1IZ66rmQO7aY/ypSRB jPbAqWQhd5Pwr4kpcRbwJeq0rL9nt8QVmfx/3csBeYp2aeBwPz9aSqN3KLF2Dsbkacxb I4oHSvtAQ2sGYblhdizIUH9Bzk8BS6SDhANGgq8qrdNlKKQ9v8FLw2X7EOQfj/oWDKcd G6CN5DQIYgEU9xREYzz1zHQ9g8gwCydDtFKWGjV3RTXMZMUdBeou52QHXhO4kg6fnsxU Ag1A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=N0zZzIXf; 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=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id e11-20020a170902ed8b00b001a699fc81e8si1829790plj.98.2023.05.18.10.54.11; Thu, 18 May 2023 10:54:25 -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=@intel.com header.s=Intel header.b=N0zZzIXf; 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=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230060AbjERRgt (ORCPT + 99 others); Thu, 18 May 2023 13:36:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35678 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229893AbjERRgs (ORCPT ); Thu, 18 May 2023 13:36:48 -0400 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 459C5A2; Thu, 18 May 2023 10:36:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1684431405; x=1715967405; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=elUnkltIR1KQfdmZBMxeg/1AdDkrHf5yS0aAcfIpero=; b=N0zZzIXfzXU48wxhRgqUuLXiG9+udwWJXpyODt5sL0hEMrI4Ubw0bulE j5mYQFPOPfE2pM0HqcX/9IheH/q+n/OZmK+CFiC8tBvcwT7XubVt4/WI4 Q/XvziSffHEfyRRhpaOUJ0W48nHIeVZ5HSaAnvPyKjz04027/2RaVL/um nYTS6cMLGkPAoZ4brEBA/wXBwZ2UQIV+FVVzK5tCELkbZHy29LWIitIak RyXzUP+YvnjC6uVwwMji1tKfvdP3SaanpJEZDbmYsBFovvhTSgigQF0sc h+RvTpJmiEjnLuepW4p1s6Coi/ge0eeBO5ixbpZh/0w0XLSbNEeovqdhD w==; X-IronPort-AV: E=McAfee;i="6600,9927,10714"; a="352159396" X-IronPort-AV: E=Sophos;i="6.00,174,1681196400"; d="scan'208";a="352159396" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 May 2023 10:36:44 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10714"; a="679745876" X-IronPort-AV: E=Sophos;i="6.00,174,1681196400"; d="scan'208";a="679745876" Received: from linux.intel.com ([10.54.29.200]) by orsmga006.jf.intel.com with ESMTP; 18 May 2023 10:36:44 -0700 Received: from [10.209.99.208] (kliang2-mobl1.ccr.corp.intel.com [10.209.99.208]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by linux.intel.com (Postfix) with ESMTPS id C7CFD5808EF; Thu, 18 May 2023 10:36:42 -0700 (PDT) Message-ID: <68332dea-f422-ffdd-2be8-9f89c030d714@linux.intel.com> Date: Thu, 18 May 2023 13:36:41 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.10.1 Subject: Re: [PATCH v1 1/2] perf test attr: Update no event/metric expectations Content-Language: en-US To: Ian Rogers Cc: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Adrian Hunter , James Clark , Thomas Richter , linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org References: <20230517225707.2682235-1-irogers@google.com> <8076a1aa-c09f-38ec-e3f6-f6f3f31920e2@linux.intel.com> From: "Liang, Kan" In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,NICE_REPLY_A,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE 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 2023-05-18 12:36 p.m., Ian Rogers wrote: > On Thu, May 18, 2023 at 7:40 AM Liang, Kan wrote: >> >> >> >> On 2023-05-18 10:10 a.m., Ian Rogers wrote: >>> On Thu, May 18, 2023 at 6:01 AM Liang, Kan wrote: >>>> >>>> >>>> >>>> On 2023-05-17 6:57 p.m., Ian Rogers wrote: >>>>> Previously hard coded events/metrics were used, update for the use of >>>>> the TopdownL1 json metric group. >>>>> >>>>> Fixes: 94b1a603fca7 ("perf stat: Add TopdownL1 metric as a default if present") >>>>> Signed-off-by: Ian Rogers >>>>> --- >>>>> tools/perf/tests/attr/base-stat | 2 +- >>>>> tools/perf/tests/attr/test-stat-default | 80 ++++++++----- >>>>> tools/perf/tests/attr/test-stat-detailed-1 | 95 +++++++++------ >>>>> tools/perf/tests/attr/test-stat-detailed-2 | 119 +++++++++++-------- >>>>> tools/perf/tests/attr/test-stat-detailed-3 | 127 ++++++++++++--------- >>>>> 5 files changed, 249 insertions(+), 174 deletions(-) >>>>> >>>>> diff --git a/tools/perf/tests/attr/base-stat b/tools/perf/tests/attr/base-stat >>>>> index a21fb65bc012..fccd8ec4d1b0 100644 >>>>> --- a/tools/perf/tests/attr/base-stat >>>>> +++ b/tools/perf/tests/attr/base-stat >>>>> @@ -16,7 +16,7 @@ pinned=0 >>>>> exclusive=0 >>>>> exclude_user=0 >>>>> exclude_kernel=0|1 >>>>> -exclude_hv=0 >>>>> +exclude_hv=0|1 >>>>> exclude_idle=0 >>>>> mmap=0 >>>>> comm=0 >>>>> diff --git a/tools/perf/tests/attr/test-stat-default b/tools/perf/tests/attr/test-stat-default >>>>> index d8ea6a88163f..a1e2da0a9a6d 100644 >>>>> --- a/tools/perf/tests/attr/test-stat-default >>>>> +++ b/tools/perf/tests/attr/test-stat-default >>>>> @@ -40,7 +40,6 @@ fd=6 >>>>> type=0 >>>>> config=7 >>>>> optional=1 >>>>> - >>>>> # PERF_TYPE_HARDWARE / PERF_COUNT_HW_STALLED_CYCLES_BACKEND >>>>> [event7:base-stat] >>>>> fd=7 >>>>> @@ -89,79 +88,98 @@ enable_on_exec=0 >>>>> read_format=15 >>>>> optional=1 >>>>> >>>>> -# PERF_TYPE_RAW / topdown-bad-spec (0x8100) >>>>> +# PERF_TYPE_RAW / topdown-fe-bound (0x8200) >>>>> [event13:base-stat] >>>>> fd=13 >>>>> group_fd=11 >>>>> type=4 >>>>> -config=33024 >>>>> +config=33280 >>>>> disabled=0 >>>>> enable_on_exec=0 >>>>> read_format=15 >>>>> optional=1 >>>>> >>>>> -# PERF_TYPE_RAW / topdown-fe-bound (0x8200) >>>>> +# PERF_TYPE_RAW / topdown-be-bound (0x8300) >>>>> [event14:base-stat] >>>>> fd=14 >>>>> group_fd=11 >>>>> type=4 >>>>> -config=33280 >>>>> +config=33536 >>>>> disabled=0 >>>>> enable_on_exec=0 >>>>> read_format=15 >>>>> optional=1 >>>>> >>>>> -# PERF_TYPE_RAW / topdown-be-bound (0x8300) >>>>> +# PERF_TYPE_RAW / topdown-bad-spec (0x8100) >>>>> [event15:base-stat] >>>>> fd=15 >>>>> group_fd=11 >>>>> type=4 >>>>> -config=33536 >>>>> +config=33024 >>>>> disabled=0 >>>>> enable_on_exec=0 >>>>> read_format=15 >>>>> optional=1 >>>>> >>>>> -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400) >>>>> +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING >>>>> [event16:base-stat] >>>>> fd=16 >>>>> -group_fd=11 >>>>> type=4 >>>>> -config=33792 >>>>> -disabled=0 >>>>> -enable_on_exec=0 >>>>> -read_format=15 >>>>> +config=4109 >>>>> optional=1 >>>>> >>>>> -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500) >>>>> +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/ >>>>> [event17:base-stat] >>>>> fd=17 >>>>> -group_fd=11 >>>>> type=4 >>>>> -config=34048 >>>>> -disabled=0 >>>>> -enable_on_exec=0 >>>>> -read_format=15 >>>>> +config=17039629 >>>>> optional=1 >>>>> >>>>> -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600) >>>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD >>>>> [event18:base-stat] >>>>> fd=18 >>>>> -group_fd=11 >>>>> type=4 >>>>> -config=34304 >>>>> -disabled=0 >>>>> -enable_on_exec=0 >>>>> -read_format=15 >>>>> +config=60 >>>>> optional=1 >>>>> >>>>> -# PERF_TYPE_RAW / topdown-mem-bound (0x8700) >>>>> +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY >>>>> [event19:base-stat] >>>>> fd=19 >>>>> -group_fd=11 >>>>> type=4 >>>>> -config=34560 >>>>> -disabled=0 >>>>> -enable_on_exec=0 >>>>> -read_format=15 >>>>> +config=2097421 >>>>> +optional=1 >>>>> + >>>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK >>>>> +[event20:base-stat] >>>>> +fd=20 >>>>> +type=4 >>>>> +config=316 >>>>> +optional=1 >>>>> + >>>>> +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE >>>>> +[event21:base-stat] >>>>> +fd=21 >>>>> +type=4 >>>>> +config=412 >>>>> +optional=1 >>>>> + >>>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE >>>>> +[event22:base-stat] >>>>> +fd=22 >>>>> +type=4 >>>>> +config=572 >>>>> +optional=1 >>>>> + >>>>> +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS >>>> >>>> >>>> Most of the newly added events are non-architectural events. The event >>>> name and the encoding could be changed later. I don't think it's a good >>>> idea to hard code them in the test. Could we read the TopdownL1 metrics, >>>> get a event list at runtime, and then only test those events? >>> >>> Not really, this test fix is targeting 6.4 which shouldn't be a moving >>> target. We can do something better in 6.5. >> What's the problem the patch trying to fix? Is it user visiable? Does >> the perf test fail? >> >> I want to understand why we need such temporary fix. > > So the test has issues, we should fix these perhaps by making the > wrapper a shell test, as these lack the robustness issues. On my > Skylake testing had yielded "Skip" and my Tigerlake testing had > yielded "Ok" but if I altered my directory it changed to "Failed". > Arnaldo discovered the issue in recent testing and asked me to take a > look. Yes, I can see the "Failed" on one of my machine now. > >>> >>> Fwiw, on hybrid you get events on 2 PMUs, possibly with the PMU type >>> encoded in the high part of the config. Let's see how hybrid dealt >>> with this test: >>> https://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git/tree/tools/perf/tests/attr.c?h=perf-tools#n188 >>> Oh. >>> >> >> If we don't know how to handle the hybrid, we can skip the test cases. >> We can add a specific case later in platform specifc test cases. I don't >> see any problem here. >> >> The temporary fix may not work for all the generations, especially for >> the future generations. It's very likely that we still run 6.4 on a >> future platform with a different formula. Then it may bring problems, no? > > No, because we're using json encoded metrics and events which are > built into the perf tool. When we map the cpuid for the future > generation CPU to the json we'll not find anything. This test marks > the events as optional, they aren't present on ARM and AMD, and vary > across Intel models, so the test will still pass as the optional > events weren't programmed and it doesn't matter that the optional > events weren't found. If the upstream json events/metrics change then > it won't affect the json built into the tool and assumed by the test, > so again the test won't break. Right, the default depends on the JSON metric now. It should not be available on the new platforms unless we update the tool. Those non-architetural events can be ignored. The only problem is that we have to keep updating the test once the formular is changed. If so, I agree that the improvement can be done later separately. Thanks, Kan > > Fwiw, were sysfs events being used then this test is more brittle as > the tool and kernel releases aren't obviously aligned. We could get > the test to break by mixing the version of the test with the version > of the perf tool ¯\_(ツ)_/¯. > > Thanks, > Ian > >> Thanks, >> Kan >> >>> Thanks, >>> Ian >>> >>>> Thanks, >>>> Kan >>>> >>>>> +[event23:base-stat] >>>>> +fd=23 >>>>> +type=4 >>>>> +config=706 >>>>> +optional=1 >>>>> + >>>>> +# PERF_TYPE_RAW / UOPS_ISSUED.ANY >>>>> +[event24:base-stat] >>>>> +fd=24 >>>>> +type=4 >>>>> +config=270 >>>>> optional=1 >>>>> diff --git a/tools/perf/tests/attr/test-stat-detailed-1 b/tools/perf/tests/attr/test-stat-detailed-1 >>>>> index b656ab93c5bf..1c52cb05c900 100644 >>>>> --- a/tools/perf/tests/attr/test-stat-detailed-1 >>>>> +++ b/tools/perf/tests/attr/test-stat-detailed-1 >>>>> @@ -90,89 +90,108 @@ enable_on_exec=0 >>>>> read_format=15 >>>>> optional=1 >>>>> >>>>> -# PERF_TYPE_RAW / topdown-bad-spec (0x8100) >>>>> +# PERF_TYPE_RAW / topdown-fe-bound (0x8200) >>>>> [event13:base-stat] >>>>> fd=13 >>>>> group_fd=11 >>>>> type=4 >>>>> -config=33024 >>>>> +config=33280 >>>>> disabled=0 >>>>> enable_on_exec=0 >>>>> read_format=15 >>>>> optional=1 >>>>> >>>>> -# PERF_TYPE_RAW / topdown-fe-bound (0x8200) >>>>> +# PERF_TYPE_RAW / topdown-be-bound (0x8300) >>>>> [event14:base-stat] >>>>> fd=14 >>>>> group_fd=11 >>>>> type=4 >>>>> -config=33280 >>>>> +config=33536 >>>>> disabled=0 >>>>> enable_on_exec=0 >>>>> read_format=15 >>>>> optional=1 >>>>> >>>>> -# PERF_TYPE_RAW / topdown-be-bound (0x8300) >>>>> +# PERF_TYPE_RAW / topdown-bad-spec (0x8100) >>>>> [event15:base-stat] >>>>> fd=15 >>>>> group_fd=11 >>>>> type=4 >>>>> -config=33536 >>>>> +config=33024 >>>>> disabled=0 >>>>> enable_on_exec=0 >>>>> read_format=15 >>>>> optional=1 >>>>> >>>>> -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400) >>>>> +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING >>>>> [event16:base-stat] >>>>> fd=16 >>>>> -group_fd=11 >>>>> type=4 >>>>> -config=33792 >>>>> -disabled=0 >>>>> -enable_on_exec=0 >>>>> -read_format=15 >>>>> +config=4109 >>>>> optional=1 >>>>> >>>>> -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500) >>>>> +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/ >>>>> [event17:base-stat] >>>>> fd=17 >>>>> -group_fd=11 >>>>> type=4 >>>>> -config=34048 >>>>> -disabled=0 >>>>> -enable_on_exec=0 >>>>> -read_format=15 >>>>> +config=17039629 >>>>> optional=1 >>>>> >>>>> -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600) >>>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD >>>>> [event18:base-stat] >>>>> fd=18 >>>>> -group_fd=11 >>>>> type=4 >>>>> -config=34304 >>>>> -disabled=0 >>>>> -enable_on_exec=0 >>>>> -read_format=15 >>>>> +config=60 >>>>> optional=1 >>>>> >>>>> -# PERF_TYPE_RAW / topdown-mem-bound (0x8700) >>>>> +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY >>>>> [event19:base-stat] >>>>> fd=19 >>>>> -group_fd=11 >>>>> type=4 >>>>> -config=34560 >>>>> -disabled=0 >>>>> -enable_on_exec=0 >>>>> -read_format=15 >>>>> +config=2097421 >>>>> +optional=1 >>>>> + >>>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK >>>>> +[event20:base-stat] >>>>> +fd=20 >>>>> +type=4 >>>>> +config=316 >>>>> +optional=1 >>>>> + >>>>> +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE >>>>> +[event21:base-stat] >>>>> +fd=21 >>>>> +type=4 >>>>> +config=412 >>>>> +optional=1 >>>>> + >>>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE >>>>> +[event22:base-stat] >>>>> +fd=22 >>>>> +type=4 >>>>> +config=572 >>>>> +optional=1 >>>>> + >>>>> +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS >>>>> +[event23:base-stat] >>>>> +fd=23 >>>>> +type=4 >>>>> +config=706 >>>>> +optional=1 >>>>> + >>>>> +# PERF_TYPE_RAW / UOPS_ISSUED.ANY >>>>> +[event24:base-stat] >>>>> +fd=24 >>>>> +type=4 >>>>> +config=270 >>>>> optional=1 >>>>> >>>>> # PERF_TYPE_HW_CACHE / >>>>> # PERF_COUNT_HW_CACHE_L1D << 0 | >>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) | >>>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16) >>>>> -[event20:base-stat] >>>>> -fd=20 >>>>> +[event25:base-stat] >>>>> +fd=25 >>>>> type=3 >>>>> config=0 >>>>> optional=1 >>>>> @@ -181,8 +200,8 @@ optional=1 >>>>> # PERF_COUNT_HW_CACHE_L1D << 0 | >>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) | >>>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16) >>>>> -[event21:base-stat] >>>>> -fd=21 >>>>> +[event26:base-stat] >>>>> +fd=26 >>>>> type=3 >>>>> config=65536 >>>>> optional=1 >>>>> @@ -191,8 +210,8 @@ optional=1 >>>>> # PERF_COUNT_HW_CACHE_LL << 0 | >>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) | >>>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16) >>>>> -[event22:base-stat] >>>>> -fd=22 >>>>> +[event27:base-stat] >>>>> +fd=27 >>>>> type=3 >>>>> config=2 >>>>> optional=1 >>>>> @@ -201,8 +220,8 @@ optional=1 >>>>> # PERF_COUNT_HW_CACHE_LL << 0 | >>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) | >>>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16) >>>>> -[event23:base-stat] >>>>> -fd=23 >>>>> +[event28:base-stat] >>>>> +fd=28 >>>>> type=3 >>>>> config=65538 >>>>> optional=1 >>>>> diff --git a/tools/perf/tests/attr/test-stat-detailed-2 b/tools/perf/tests/attr/test-stat-detailed-2 >>>>> index 97625090a1c4..7e961d24a885 100644 >>>>> --- a/tools/perf/tests/attr/test-stat-detailed-2 >>>>> +++ b/tools/perf/tests/attr/test-stat-detailed-2 >>>>> @@ -90,89 +90,108 @@ enable_on_exec=0 >>>>> read_format=15 >>>>> optional=1 >>>>> >>>>> -# PERF_TYPE_RAW / topdown-bad-spec (0x8100) >>>>> +# PERF_TYPE_RAW / topdown-fe-bound (0x8200) >>>>> [event13:base-stat] >>>>> fd=13 >>>>> group_fd=11 >>>>> type=4 >>>>> -config=33024 >>>>> +config=33280 >>>>> disabled=0 >>>>> enable_on_exec=0 >>>>> read_format=15 >>>>> optional=1 >>>>> >>>>> -# PERF_TYPE_RAW / topdown-fe-bound (0x8200) >>>>> +# PERF_TYPE_RAW / topdown-be-bound (0x8300) >>>>> [event14:base-stat] >>>>> fd=14 >>>>> group_fd=11 >>>>> type=4 >>>>> -config=33280 >>>>> +config=33536 >>>>> disabled=0 >>>>> enable_on_exec=0 >>>>> read_format=15 >>>>> optional=1 >>>>> >>>>> -# PERF_TYPE_RAW / topdown-be-bound (0x8300) >>>>> +# PERF_TYPE_RAW / topdown-bad-spec (0x8100) >>>>> [event15:base-stat] >>>>> fd=15 >>>>> group_fd=11 >>>>> type=4 >>>>> -config=33536 >>>>> +config=33024 >>>>> disabled=0 >>>>> enable_on_exec=0 >>>>> read_format=15 >>>>> optional=1 >>>>> >>>>> -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400) >>>>> +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING >>>>> [event16:base-stat] >>>>> fd=16 >>>>> -group_fd=11 >>>>> type=4 >>>>> -config=33792 >>>>> -disabled=0 >>>>> -enable_on_exec=0 >>>>> -read_format=15 >>>>> +config=4109 >>>>> optional=1 >>>>> >>>>> -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500) >>>>> +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/ >>>>> [event17:base-stat] >>>>> fd=17 >>>>> -group_fd=11 >>>>> type=4 >>>>> -config=34048 >>>>> -disabled=0 >>>>> -enable_on_exec=0 >>>>> -read_format=15 >>>>> +config=17039629 >>>>> optional=1 >>>>> >>>>> -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600) >>>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD >>>>> [event18:base-stat] >>>>> fd=18 >>>>> -group_fd=11 >>>>> type=4 >>>>> -config=34304 >>>>> -disabled=0 >>>>> -enable_on_exec=0 >>>>> -read_format=15 >>>>> +config=60 >>>>> optional=1 >>>>> >>>>> -# PERF_TYPE_RAW / topdown-mem-bound (0x8700) >>>>> +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY >>>>> [event19:base-stat] >>>>> fd=19 >>>>> -group_fd=11 >>>>> type=4 >>>>> -config=34560 >>>>> -disabled=0 >>>>> -enable_on_exec=0 >>>>> -read_format=15 >>>>> +config=2097421 >>>>> +optional=1 >>>>> + >>>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK >>>>> +[event20:base-stat] >>>>> +fd=20 >>>>> +type=4 >>>>> +config=316 >>>>> +optional=1 >>>>> + >>>>> +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE >>>>> +[event21:base-stat] >>>>> +fd=21 >>>>> +type=4 >>>>> +config=412 >>>>> +optional=1 >>>>> + >>>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE >>>>> +[event22:base-stat] >>>>> +fd=22 >>>>> +type=4 >>>>> +config=572 >>>>> +optional=1 >>>>> + >>>>> +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS >>>>> +[event23:base-stat] >>>>> +fd=23 >>>>> +type=4 >>>>> +config=706 >>>>> +optional=1 >>>>> + >>>>> +# PERF_TYPE_RAW / UOPS_ISSUED.ANY >>>>> +[event24:base-stat] >>>>> +fd=24 >>>>> +type=4 >>>>> +config=270 >>>>> optional=1 >>>>> >>>>> # PERF_TYPE_HW_CACHE / >>>>> # PERF_COUNT_HW_CACHE_L1D << 0 | >>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) | >>>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16) >>>>> -[event20:base-stat] >>>>> -fd=20 >>>>> +[event25:base-stat] >>>>> +fd=25 >>>>> type=3 >>>>> config=0 >>>>> optional=1 >>>>> @@ -181,8 +200,8 @@ optional=1 >>>>> # PERF_COUNT_HW_CACHE_L1D << 0 | >>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) | >>>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16) >>>>> -[event21:base-stat] >>>>> -fd=21 >>>>> +[event26:base-stat] >>>>> +fd=26 >>>>> type=3 >>>>> config=65536 >>>>> optional=1 >>>>> @@ -191,8 +210,8 @@ optional=1 >>>>> # PERF_COUNT_HW_CACHE_LL << 0 | >>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) | >>>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16) >>>>> -[event22:base-stat] >>>>> -fd=22 >>>>> +[event27:base-stat] >>>>> +fd=27 >>>>> type=3 >>>>> config=2 >>>>> optional=1 >>>>> @@ -201,8 +220,8 @@ optional=1 >>>>> # PERF_COUNT_HW_CACHE_LL << 0 | >>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) | >>>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16) >>>>> -[event23:base-stat] >>>>> -fd=23 >>>>> +[event28:base-stat] >>>>> +fd=28 >>>>> type=3 >>>>> config=65538 >>>>> optional=1 >>>>> @@ -211,8 +230,8 @@ optional=1 >>>>> # PERF_COUNT_HW_CACHE_L1I << 0 | >>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) | >>>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16) >>>>> -[event24:base-stat] >>>>> -fd=24 >>>>> +[event29:base-stat] >>>>> +fd=29 >>>>> type=3 >>>>> config=1 >>>>> optional=1 >>>>> @@ -221,8 +240,8 @@ optional=1 >>>>> # PERF_COUNT_HW_CACHE_L1I << 0 | >>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) | >>>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16) >>>>> -[event25:base-stat] >>>>> -fd=25 >>>>> +[event30:base-stat] >>>>> +fd=30 >>>>> type=3 >>>>> config=65537 >>>>> optional=1 >>>>> @@ -231,8 +250,8 @@ optional=1 >>>>> # PERF_COUNT_HW_CACHE_DTLB << 0 | >>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) | >>>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16) >>>>> -[event26:base-stat] >>>>> -fd=26 >>>>> +[event31:base-stat] >>>>> +fd=31 >>>>> type=3 >>>>> config=3 >>>>> optional=1 >>>>> @@ -241,8 +260,8 @@ optional=1 >>>>> # PERF_COUNT_HW_CACHE_DTLB << 0 | >>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) | >>>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16) >>>>> -[event27:base-stat] >>>>> -fd=27 >>>>> +[event32:base-stat] >>>>> +fd=32 >>>>> type=3 >>>>> config=65539 >>>>> optional=1 >>>>> @@ -251,8 +270,8 @@ optional=1 >>>>> # PERF_COUNT_HW_CACHE_ITLB << 0 | >>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) | >>>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16) >>>>> -[event28:base-stat] >>>>> -fd=28 >>>>> +[event33:base-stat] >>>>> +fd=33 >>>>> type=3 >>>>> config=4 >>>>> optional=1 >>>>> @@ -261,8 +280,8 @@ optional=1 >>>>> # PERF_COUNT_HW_CACHE_ITLB << 0 | >>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) | >>>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16) >>>>> -[event29:base-stat] >>>>> -fd=29 >>>>> +[event34:base-stat] >>>>> +fd=34 >>>>> type=3 >>>>> config=65540 >>>>> optional=1 >>>>> diff --git a/tools/perf/tests/attr/test-stat-detailed-3 b/tools/perf/tests/attr/test-stat-detailed-3 >>>>> index d555042e3fbf..e50535f45977 100644 >>>>> --- a/tools/perf/tests/attr/test-stat-detailed-3 >>>>> +++ b/tools/perf/tests/attr/test-stat-detailed-3 >>>>> @@ -90,89 +90,108 @@ enable_on_exec=0 >>>>> read_format=15 >>>>> optional=1 >>>>> >>>>> -# PERF_TYPE_RAW / topdown-bad-spec (0x8100) >>>>> +# PERF_TYPE_RAW / topdown-fe-bound (0x8200) >>>>> [event13:base-stat] >>>>> fd=13 >>>>> group_fd=11 >>>>> type=4 >>>>> -config=33024 >>>>> +config=33280 >>>>> disabled=0 >>>>> enable_on_exec=0 >>>>> read_format=15 >>>>> optional=1 >>>>> >>>>> -# PERF_TYPE_RAW / topdown-fe-bound (0x8200) >>>>> +# PERF_TYPE_RAW / topdown-be-bound (0x8300) >>>>> [event14:base-stat] >>>>> fd=14 >>>>> group_fd=11 >>>>> type=4 >>>>> -config=33280 >>>>> +config=33536 >>>>> disabled=0 >>>>> enable_on_exec=0 >>>>> read_format=15 >>>>> optional=1 >>>>> >>>>> -# PERF_TYPE_RAW / topdown-be-bound (0x8300) >>>>> +# PERF_TYPE_RAW / topdown-bad-spec (0x8100) >>>>> [event15:base-stat] >>>>> fd=15 >>>>> group_fd=11 >>>>> type=4 >>>>> -config=33536 >>>>> +config=33024 >>>>> disabled=0 >>>>> enable_on_exec=0 >>>>> read_format=15 >>>>> optional=1 >>>>> >>>>> -# PERF_TYPE_RAW / topdown-heavy-ops (0x8400) >>>>> +# PERF_TYPE_RAW / INT_MISC.UOP_DROPPING >>>>> [event16:base-stat] >>>>> fd=16 >>>>> -group_fd=11 >>>>> type=4 >>>>> -config=33792 >>>>> -disabled=0 >>>>> -enable_on_exec=0 >>>>> -read_format=15 >>>>> +config=4109 >>>>> optional=1 >>>>> >>>>> -# PERF_TYPE_RAW / topdown-br-mispredict (0x8500) >>>>> +# PERF_TYPE_RAW / cpu/INT_MISC.RECOVERY_CYCLES,cmask=1,edge/ >>>>> [event17:base-stat] >>>>> fd=17 >>>>> -group_fd=11 >>>>> type=4 >>>>> -config=34048 >>>>> -disabled=0 >>>>> -enable_on_exec=0 >>>>> -read_format=15 >>>>> +config=17039629 >>>>> optional=1 >>>>> >>>>> -# PERF_TYPE_RAW / topdown-fetch-lat (0x8600) >>>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.THREAD >>>>> [event18:base-stat] >>>>> fd=18 >>>>> -group_fd=11 >>>>> type=4 >>>>> -config=34304 >>>>> -disabled=0 >>>>> -enable_on_exec=0 >>>>> -read_format=15 >>>>> +config=60 >>>>> optional=1 >>>>> >>>>> -# PERF_TYPE_RAW / topdown-mem-bound (0x8700) >>>>> +# PERF_TYPE_RAW / INT_MISC.RECOVERY_CYCLES_ANY >>>>> [event19:base-stat] >>>>> fd=19 >>>>> -group_fd=11 >>>>> type=4 >>>>> -config=34560 >>>>> -disabled=0 >>>>> -enable_on_exec=0 >>>>> -read_format=15 >>>>> +config=2097421 >>>>> +optional=1 >>>>> + >>>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.REF_XCLK >>>>> +[event20:base-stat] >>>>> +fd=20 >>>>> +type=4 >>>>> +config=316 >>>>> +optional=1 >>>>> + >>>>> +# PERF_TYPE_RAW / IDQ_UOPS_NOT_DELIVERED.CORE >>>>> +[event21:base-stat] >>>>> +fd=21 >>>>> +type=4 >>>>> +config=412 >>>>> +optional=1 >>>>> + >>>>> +# PERF_TYPE_RAW / CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE >>>>> +[event22:base-stat] >>>>> +fd=22 >>>>> +type=4 >>>>> +config=572 >>>>> +optional=1 >>>>> + >>>>> +# PERF_TYPE_RAW / UOPS_RETIRED.RETIRE_SLOTS >>>>> +[event23:base-stat] >>>>> +fd=23 >>>>> +type=4 >>>>> +config=706 >>>>> +optional=1 >>>>> + >>>>> +# PERF_TYPE_RAW / UOPS_ISSUED.ANY >>>>> +[event24:base-stat] >>>>> +fd=24 >>>>> +type=4 >>>>> +config=270 >>>>> optional=1 >>>>> >>>>> # PERF_TYPE_HW_CACHE / >>>>> # PERF_COUNT_HW_CACHE_L1D << 0 | >>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) | >>>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16) >>>>> -[event20:base-stat] >>>>> -fd=20 >>>>> +[event25:base-stat] >>>>> +fd=25 >>>>> type=3 >>>>> config=0 >>>>> optional=1 >>>>> @@ -181,8 +200,8 @@ optional=1 >>>>> # PERF_COUNT_HW_CACHE_L1D << 0 | >>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) | >>>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16) >>>>> -[event21:base-stat] >>>>> -fd=21 >>>>> +[event26:base-stat] >>>>> +fd=26 >>>>> type=3 >>>>> config=65536 >>>>> optional=1 >>>>> @@ -191,8 +210,8 @@ optional=1 >>>>> # PERF_COUNT_HW_CACHE_LL << 0 | >>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) | >>>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16) >>>>> -[event22:base-stat] >>>>> -fd=22 >>>>> +[event27:base-stat] >>>>> +fd=27 >>>>> type=3 >>>>> config=2 >>>>> optional=1 >>>>> @@ -201,8 +220,8 @@ optional=1 >>>>> # PERF_COUNT_HW_CACHE_LL << 0 | >>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) | >>>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16) >>>>> -[event23:base-stat] >>>>> -fd=23 >>>>> +[event28:base-stat] >>>>> +fd=28 >>>>> type=3 >>>>> config=65538 >>>>> optional=1 >>>>> @@ -211,8 +230,8 @@ optional=1 >>>>> # PERF_COUNT_HW_CACHE_L1I << 0 | >>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) | >>>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16) >>>>> -[event24:base-stat] >>>>> -fd=24 >>>>> +[event29:base-stat] >>>>> +fd=29 >>>>> type=3 >>>>> config=1 >>>>> optional=1 >>>>> @@ -221,8 +240,8 @@ optional=1 >>>>> # PERF_COUNT_HW_CACHE_L1I << 0 | >>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) | >>>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16) >>>>> -[event25:base-stat] >>>>> -fd=25 >>>>> +[event30:base-stat] >>>>> +fd=30 >>>>> type=3 >>>>> config=65537 >>>>> optional=1 >>>>> @@ -231,8 +250,8 @@ optional=1 >>>>> # PERF_COUNT_HW_CACHE_DTLB << 0 | >>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) | >>>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16) >>>>> -[event26:base-stat] >>>>> -fd=26 >>>>> +[event31:base-stat] >>>>> +fd=31 >>>>> type=3 >>>>> config=3 >>>>> optional=1 >>>>> @@ -241,8 +260,8 @@ optional=1 >>>>> # PERF_COUNT_HW_CACHE_DTLB << 0 | >>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) | >>>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16) >>>>> -[event27:base-stat] >>>>> -fd=27 >>>>> +[event32:base-stat] >>>>> +fd=32 >>>>> type=3 >>>>> config=65539 >>>>> optional=1 >>>>> @@ -251,8 +270,8 @@ optional=1 >>>>> # PERF_COUNT_HW_CACHE_ITLB << 0 | >>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) | >>>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16) >>>>> -[event28:base-stat] >>>>> -fd=28 >>>>> +[event33:base-stat] >>>>> +fd=33 >>>>> type=3 >>>>> config=4 >>>>> optional=1 >>>>> @@ -261,8 +280,8 @@ optional=1 >>>>> # PERF_COUNT_HW_CACHE_ITLB << 0 | >>>>> # (PERF_COUNT_HW_CACHE_OP_READ << 8) | >>>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16) >>>>> -[event29:base-stat] >>>>> -fd=29 >>>>> +[event34:base-stat] >>>>> +fd=34 >>>>> type=3 >>>>> config=65540 >>>>> optional=1 >>>>> @@ -271,8 +290,8 @@ optional=1 >>>>> # PERF_COUNT_HW_CACHE_L1D << 0 | >>>>> # (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) | >>>>> # (PERF_COUNT_HW_CACHE_RESULT_ACCESS << 16) >>>>> -[event30:base-stat] >>>>> -fd=30 >>>>> +[event35:base-stat] >>>>> +fd=35 >>>>> type=3 >>>>> config=512 >>>>> optional=1 >>>>> @@ -281,8 +300,8 @@ optional=1 >>>>> # PERF_COUNT_HW_CACHE_L1D << 0 | >>>>> # (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) | >>>>> # (PERF_COUNT_HW_CACHE_RESULT_MISS << 16) >>>>> -[event31:base-stat] >>>>> -fd=31 >>>>> +[event36:base-stat] >>>>> +fd=36 >>>>> type=3 >>>>> config=66048 >>>>> optional=1