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

From: Stephane Eranian
Date: Fri Jun 15 2012 - 03:32:18 EST


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.

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