Re: [PATCH V5 0/13] perf: Intel uncore pmu counting support

From: Yan, Zheng
Date: Tue Jun 12 2012 - 21:41:29 EST


On 06/12/2012 11:38 PM, Stephane Eranian wrote:
> On Tue, Jun 12, 2012 at 7:37 AM, Yan, Zheng <zheng.z.yan@xxxxxxxxx> wrote:
>> Hi, all
>>
>> Here is the V5 patches to add uncore counting support for Nehalem,
>> Sandy Bridge and Sandy Bridge-EP, applied on top of current tip.
>> The code is based on Lin Ming's old patches.
>>
>> For Nehalem and Sandy Bridge-EP, A few general events are exported
>> under sysfs directory:
>> /sys/bus/event_source/devices/${uncore_dev}/events/
>>
> On NHM, I tried:
> perf stat -a -e Uncore/CLOCKTICKS/
> invalid or unsupported event: 'Uncore/CLOCKTICKS/'

Strange enough. Did you re-compile the perf tool? Are there
files under directory /sys/bus/event_source/devices/Uncore/events
>
> I started tracking this down but gave up because it's coming
> once again from the too complex parser. You are looking for
> a format match (inv, edge, cmask) with the word CLOCKTICKS
> instead of config.
>
> Please fix this.
>
> Also I don't think using upper case for the PMU name is a good idea.
> Just call it uncore.
>

Peter suggests keeping the uncore names as they're listed in the intel
doc. For Sandybirdge-EP, uncore names are something like: Cbo, iMC, QPI.
I think Uncore_Cbo_0 appears better than uncore_Cbo_0

Regards
Yan, Zheng
>
>> Each file in the events directory defines an event. The content is
>> a string such as:
>> config=1,config1=2
>>
>> You can use 'perf stat' to access to the uncore pmu. For example:
>> perf stat -a -C 0 -e 'Uncore_iMC_0/CAS_COUNT_RD/' sleep 1
>> perf stat -a -C 0 -e 'Uncore_iMC_0/event=CAS_COUNT_RD/' sleep 1
>>
>> Any comment is appreciated.
>> Thank you
>> ---
>> Changes since v1:
>> - Modify perf tool to parse events from sysfs
>> - A few minor code cleanup
>>
>> Changes since v2:
>> - Place all events for a particular socket onto a single cpu
>> - Make the events parser in perf tool reentrantable
>> - A few code cleanup
>>
>> Changes since v3:
>> - Use per cpu pointer to track uncore box
>> - Rework the cpu hotplug code because topology_physical_package_id()
>> return wrong result when the cpu is offline
>> - Rework the event alias code, event terms are stored in the alias
>> structure instead events string
>>
>> Changes since v4:
>> - Include Jiri's uncore related changes patch set
>> - Add pmu/event=alias/ syntax support
>>


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/