• J
    perf jevents: Support unit value "cpu_core" and "cpu_atom" · 6b64833b
    Jin Yao 提交于
    For some Intel platforms, such as Alderlake, which is a hybrid platform
    and it consists of atom cpu and core cpu. Each cpu has dedicated event
    list. Part of events are available on core cpu, part of events are
    available on atom cpu.
    
    The kernel exports new cpu pmus: cpu_core and cpu_atom. The event in
    json is added with a new field "Unit" to indicate which pmu the event
    is available on.
    
    For example, one event in cache.json,
    
        {
            "BriefDescription": "Counts the number of load ops retired that",
            "CollectPEBSRecord": "2",
            "Counter": "0,1,2,3",
            "EventCode": "0xd2",
            "EventName": "MEM_LOAD_UOPS_RETIRED_MISC.MMIO",
            "PEBScounters": "0,1,2,3",
            "SampleAfterValue": "1000003",
            "UMask": "0x80",
            "Unit": "cpu_atom"
        },
    
    The unit "cpu_atom" indicates this event is only available on "cpu_atom".
    
    In generated pmu-events.c, we can see:
    
    {
            .name = "mem_load_uops_retired_misc.mmio",
            .event = "period=1000003,umask=0x80,event=0xd2",
            .desc = "Counts the number of load ops retired that. Unit: cpu_atom ",
            .topic = "cache",
            .pmu = "cpu_atom",
    },
    
    But if without this patch, the "uncore_" prefix is added before "cpu_atom",
    such as:
            .pmu = "uncore_cpu_atom"
    
    That would be a wrong pmu.
    Signed-off-by: NJin Yao <yao.jin@linux.intel.com>
    Reviewed-by: NJiri Olsa <jolsa@kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Kan Liang <kan.liang@intel.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: https://lore.kernel.org/r/20210427070139.25256-3-yao.jin@linux.intel.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
    6b64833b
jevents.c 30.2 KB