Subject: [PATCH 6/6][v3] perf: Document the ABI of perf sysfs entries

From: Sukadev Bhattiprolu <[email-masked]>
Date: Wed, 9 Jan 2013 17:07:03 -0800

[PATCH 6/6][v3] perf: Document the ABI of perf sysfs entries

This patchset addes two new sets of files to sysfs:

	- generic and POWER-specific perf events in /sys/devices/cpu/events/
	- perf event config format in /sys/devices/cpu/format/event

Document the format of these files which would become part of the ABI.

Changelog[v3]:
	[Greg KH] Include ABI documentation.

Signed-off-by: Sukadev Bhattiprolu <[email-masked]>
---
 Documentation/ABI/stable/sysfs-devices-cpu-events |   54 +++++++++++++++++++++
 Documentation/ABI/stable/sysfs-devices-cpu-format |   27 ++++++++++
 2 files changed, 81 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/ABI/stable/sysfs-devices-cpu-format

diff --git a/Documentation/ABI/stable/sysfs-devices-cpu-events b/Documentation/ABI/stable/sysfs-devices-cpu-events
index e69de29..f37d542 100644
--- a/Documentation/ABI/stable/sysfs-devices-cpu-events
+++ b/Documentation/ABI/stable/sysfs-devices-cpu-events
@@ -0,0 +1,54 @@
+What:		/sys/devices/cpu/events/
+		/sys/devices/cpu/events/branch-misses
+		/sys/devices/cpu/events/cache-references
+		/sys/devices/cpu/events/cache-misses
+		/sys/devices/cpu/events/stalled-cycles-frontend
+		/sys/devices/cpu/events/branch-instructions
+		/sys/devices/cpu/events/stalled-cycles-backend
+		/sys/devices/cpu/events/instructions
+		/sys/devices/cpu/events/cpu-cycles
+
+Date:		2013/01/08
+
+Contact:	Linux kernel mailing list <[email-masked]>
+
+Description:	Generic performance monitoring events
+
+		A collection of performance monitoring events that may be
+		supported by many/most CPUs. These events can be monitored
+		using the 'perf(1)' tool.
+
+		The contents of each file would look like:
+
+			event=0xNNNN
+
+		where 'N' is a hex digit.
+
+
+What: 		/sys/devices/cpu/events/PM_LD_MISS_L1
+		/sys/devices/cpu/events/PM_LD_REF_L1
+		/sys/devices/cpu/events/PM_CYC
+		/sys/devices/cpu/events/PM_BRU_FIN
+		/sys/devices/cpu/events/PM_GCT_NOSLOT_CYC
+		/sys/devices/cpu/events/PM_BRU_MPRED
+		/sys/devices/cpu/events/PM_INST_CMPL
+		/sys/devices/cpu/events/PM_CMPLU_STALL
+
+Date:		2013/01/08
+
+Contact:	Linux kernel mailing list <[email-masked]>
+		Linux Powerpc mailing list <[email-masked]>
+
+Description:	POWER specific performance monitoring events
+
+		A collection of performance monitoring events that may be
+		supported by the POWER CPU. These events can be monitored
+		using the 'perf(1)' tool.
+
+		These events may not be supported by other CPUs.
+
+		The contents of each file would look like:
+
+			event=0xNNNN
+
+		where 'N' is a hex digit.
diff --git a/Documentation/ABI/stable/sysfs-devices-cpu-format b/Documentation/ABI/stable/sysfs-devices-cpu-format
new file mode 100644
index 0000000..b15cfb2
--- /dev/null
+++ b/Documentation/ABI/stable/sysfs-devices-cpu-format
@@ -0,0 +1,27 @@
+What:		/sys/devices/cpu/format/
+		/sys/devices/cpu/format/event
+
+Date:		2013/01/08
+
+Contact:	Linux kernel mailing list <[email-masked]>
+
+Description:	Format of performance monitoring events
+
+		Each CPU/architecture may use different format to represent
+		the perf event.  The 'event' file describes the configuration
+		format of the performance monitoring event on the CPU/system.
+
+		The contents of each file would look like:
+
+			config:m-n
+
+		where m and n are the starting and ending bits that are
+		used to represent the event.
+
+		For example, on POWER,
+
+			$ cat /sys/devices/cpu/format/event
+			config:0-20
+
+		meaning that POWER uses the first 20-bits to represent a perf
+		event.
-- 
1.7.1