Re: [PATCH 1/6] perf, x86: Making hardware events tranlations sysfs available

From: Stephane Eranian
Date: Fri Jun 15 2012 - 03:46:23 EST


On Fri, Jun 15, 2012 at 9:43 AM, Jiri Olsa <jolsa@xxxxxxxxxx> wrote:
> On Fri, Jun 15, 2012 at 09:32:20AM +0200, Stephane Eranian wrote:
>> On Fri, Jun 15, 2012 at 9:29 AM, Jiri Olsa <jolsa@xxxxxxxxxx> wrote:
>> > On Thu, Jun 14, 2012 at 11:36:51PM +0200, Stephane Eranian wrote:
>> >> On Thu, Jun 14, 2012 at 11:09 PM, Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> wrote:
>> >> > On Thu, 2012-06-14 at 22:38 +0200, Jiri Olsa wrote:
>> >> >> Making hardware events tranlations available throught the sysfs.
>> >> >> Adding 'events' group attribute under the sysfs x86 PMU record
>> >> >> with attribute/file for each hardware event:
>> >> >>
>> >> >> Â # ls Â/sys/devices/cpu/events/
>> >> >> Â branch_instructions
>> >> >> Â branch_misses
>> >> >> Â bus_cycles
>> >> >> Â cache_misses
>> >> >> Â cache_references
>> >> >> Â cycles
>> >> >> Â instructions
>> >> >> Â ref_cycles
>> >> >> Â stalled_cycles_backend
>> >> >> Â stalled_cycles_frontend
>> >> >>
>> >> >> The file - ID mappings is:
>> >> >>
>> >> >>  file           Âhw id
>> >> >> Â ----------------------------------------------------------------
>> >> >>  cycles          ÂPERF_COUNT_HW_CPU_CYCLES
>> >> >>  instructions       ÂPERF_COUNT_HW_INSTRUCTIONS
>> >> >>  cache_references     ÂPERF_COUNT_HW_CACHE_REFERENCES
>> >> >>  cache_misses       ÂPERF_COUNT_HW_CACHE_MISSES
>> >> >>  branch_instructions    PERF_COUNT_HW_BRANCH_INSTRUCTIONS
>> >> >>  branch_misses       PERF_COUNT_HW_BRANCH_MISSES
>> >> >>  bus_cycles        ÂPERF_COUNT_HW_BUS_CYCLES
>> >> >>  stalled_cycles_frontend  PERF_COUNT_HW_STALLED_CYCLES_FRONTEND
>> >> >>  stalled_cycles_backend  ÂPERF_COUNT_HW_STALLED_CYCLES_BACKEND
>> >> >>  ref_cycles        ÂPERF_COUNT_HW_REF_CPU_CYCLES
>> >> >>
>> >> >> Each attribute/file contains HW ID event translation for the currently
>> >> >> running CPU model
>> >> >>
>> >> >> Â # cat /sys/devices/cpu/events/instructions
>> >> >> Â 0xc0
>> >> >
>> >> > Why not have it consistent with the stuff done for uncore where events
>> >> > read: 'event=0xc0', ie the regular field=value stuff.
>> >> >
>> >> Yes, you want that. Because those events may need more than a code.
>> >> You want full syntax capability. So return a string.
>> >
>> > humm... right :)
>> >
>> > how about the term name 'event=...', could I always assume it's 'event',
>> > or do we want some arch specific connection for that?
>> >
>> You should not assume anything. You grab the string from sysfs and put it
>> through your regular parser. It could have arch specific terms in it. That's
>> how I suspect this is done for uncore.
>
> I was talking about the kernel part
>
The kernel part should export the event with any of the terms that it exports
thru sysfs for that CPU.

> jirka
--
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/