xref: /linux/Documentation/ABI/testing/sysfs-bus-event_source-devices-rdpmc (revision 6f7e6393d1ce636bb7ec77a7fe7b77458fddf701)
1What:           /sys/bus/event_source/devices/cpu.../rdpmc
2Date:           November 2011
3KernelVersion:  3.10
4Contact:        Linux kernel mailing list linux-kernel@vger.kernel.org
5Description:    The /sys/bus/event_source/devices/cpu.../rdpmc attribute
6                is used to show/manage if rdpmc instruction can be
7                executed in user space. This attribute supports 3 numbers.
8                - rdpmc = 0
9                user space rdpmc is globally disabled for all PMU
10                counters.
11                - rdpmc = 1
12                user space rdpmc is globally enabled only in event mmap
13                ioctl called time window. If the mmap region is unmapped,
14                user space rdpmc is disabled again.
15                - rdpmc = 2
16                user space rdpmc is globally enabled for all PMU
17                counters.
18
19                In the Intel platforms supporting counter level's user
20                space rdpmc disable feature (CPUID.23H.EBX[2] = 1), the
21                meaning of 3 numbers is extended to
22                - rdpmc = 0
23                global user space rdpmc and counter level's user space
24                rdpmc of all counters are both disabled.
25                - rdpmc = 1
26                No changes on behavior of global user space rdpmc.
27                counter level's rdpmc of system-wide events is disabled
28                but counter level's rdpmc of non-system-wide events is
29                enabled.
30                - rdpmc = 2
31                global user space rdpmc and counter level's user space
32                rdpmc of all counters are both enabled unconditionally.
33
34                The default value of rdpmc is 1.
35
36                Please notice:
37                - global user space rdpmc's behavior would change
38                immediately along with the rdpmc value's change,
39                but the behavior of counter level's user space rdpmc
40                won't take effect immediately until the event is
41                reactivated or recreated.
42                - The rdpmc attribute is global, even for x86 hybrid
43                platforms. For example, changing cpu_core/rdpmc will
44                also change cpu_atom/rdpmc.
45