perf_event_open.2: PERF_EVENT_IOC_PERIOD update

The PERF_EVENT_IOC_PERIOD ioctl was broken until 2.6.36,
and it turns out that the ARM architecture has some
differing behavior too.

Reported-by: Andreas Sandberg <andreas.sandberg@it.uu.se>
Signed-off-by: Vince Weaver <vincent.weaver@maine.edu>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
Vince Weaver 2013-10-28 09:33:04 -04:00 committed by Michael Kerrisk
parent 40b42b6f43
commit e6cf569408
1 changed files with 8 additions and 2 deletions

View File

@ -1976,11 +1976,17 @@ reset, even if the event specified is not the group leader
(but see BUGS).
.TP
.B PERF_EVENT_IOC_PERIOD
IOC_PERIOD is the command to update the period; it
does not update the current period but instead defers until next.
This updates the overflow period for the event.
On most architectures the new period does not take effect until
after the next overflow happens;
on ARM since Linux 3.7 the period is updated immediately.
The argument is a pointer to a 64-bit value containing the
desired new period.
Prior to Linux 2.6.36 this ioctl always failed due to a bug
in the kernel.
.TP
.B PERF_EVENT_IOC_SET_OUTPUT
This tells the kernel to report event notifications to the specified