perf: Expand definition of sysfs format attribute
authorMichael Ellerman <michael@ellerman.id.au>
Fri, 10 May 2013 15:33:00 +0000 (17:33 +0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 29 May 2013 13:11:40 +0000 (16:11 +0300)
Make it explicit that the format attributes may define overlapping bit
ranges. Unfortunately this was left unspecified originally, and all the
examples show non-overlapping ranges. I don't believe this is an ABI
change, as we are defining something that was previously undefined, but
others may disagree.

The POWER8 PMU would like to define overlapping ranges, as bit ranges in
the event code have different meanings for certain events. It will also
allow us to define an overarching "event" field, that encompasses all
others.

As far as I can see perf is comfortable with this change, however I am
not sure if there are any other users of the interface.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1368199980-20283-1-git-send-email-jolsa@redhat.com
Signed-off-by: Jiri Olsa <jolsa@redhat.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Documentation/ABI/testing/sysfs-bus-event_source-devices-format

index 079afc71363d87de03aae46c580f4ac308460594..77f47ff5ee02b9beb661f5e61f1b967105a2ab01 100644 (file)
@@ -9,6 +9,12 @@ Description:
                we want to export, so that userspace can deal with sane
                name/value pairs.
 
+               Userspace must be prepared for the possibility that attributes
+               define overlapping bit ranges. For example:
+                       attr1 = 'config:0-23'
+                       attr2 = 'config:0-7'
+                       attr3 = 'config:12-35'
+
                Example: 'config1:1,6-10,44'
                Defines contents of attribute that occupies bits 1,6-10,44 of
                perf_event_attr::config1.