linux/arch/s390
Thomas Richter 2cb549a821 s390/cpum_sf: Support ioctl PERF_EVENT_IOC_PERIOD
A perf_event can be set up to deliver overflow notifications
via SIGIO signal.  The setup of the event is:

 1. create event with perf_event_open()
 2. assign it a signal for I/O notification with fcntl()
 3. Install signal handler and consume samples

The initial setup of perf_event_open() determines the
period/frequency time span needed to elapse before each signal
is delivered to the user process.

While the event is active, system call
ioctl(.., PERF_EVENT_IOC_PERIOD, value) can be used the change
the frequency/period time span of the active event.
The remaining signal handler invocations honour the new value.

This does not work on s390. In fact the time span does not change
regardless of ioctl's third argument 'value'. The call succeeds
but the time span does not change.

Support this behavior and make it common with other platforms.
This is achieved by changing the interval value of the sampling
control block accordingly and feed this new value every time
the event is enabled using pmu_event_enable().

Before this change the interval value was set only once at
pmu_event_add() and never changed.

Signed-off-by: Thomas Richter <tmricht@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2019-09-19 12:56:07 +02:00
..
appldata proc/sysctl: add shared variables for range check 2019-07-18 17:08:07 -07:00
boot s390 updates for the 5.4 merge window 2019-09-17 14:04:43 -07:00
configs s390 updates for the 5.4 merge window 2019-09-17 14:04:43 -07:00
crypto s390/crypto: Support for SHA3 via CPACF (MSA6) 2019-09-13 12:18:50 +02:00
hypfs s390/hypfs: fix a typo in the name of a function 2019-07-23 10:45:32 +02:00
include s390/cpum_sf: Support ioctl PERF_EVENT_IOC_PERIOD 2019-09-19 12:56:07 +02:00
kernel s390/cpum_sf: Support ioctl PERF_EVENT_IOC_PERIOD 2019-09-19 12:56:07 +02:00
kvm KVM: s390: Fixes for 5.3 2019-09-14 09:25:30 +02:00
lib s390 updates for the 5.4 merge window 2019-09-17 14:04:43 -07:00
mm s390 updates for the 5.4 merge window 2019-09-17 14:04:43 -07:00
net s390/bpf: use 32-bit index for tail calls 2019-08-13 16:07:13 +02:00
numa s390/numa: correct early_param handling 2019-08-26 12:51:17 +02:00
oprofile s390/unwind: introduce stack unwind API 2019-05-02 13:54:11 +02:00
pci s390/pci: fix MSI message data 2019-09-16 13:21:51 +02:00
purgatory s390/purgatory: update .gitignore 2019-06-04 15:03:42 +02:00
scripts s390/build: use size command to perform empty .bss check 2019-08-08 14:36:53 +02:00
tools s390: add support for IBM z15 machines 2019-09-13 12:19:14 +02:00
Kbuild s390/kexec_file: Add purgatory 2018-04-16 09:10:22 +02:00
Kconfig s390: add support for IBM z15 machines 2019-09-13 12:19:14 +02:00
Kconfig.debug Kconfig: consolidate the "Kernel hacking" menu 2018-08-02 08:06:48 +09:00
Makefile s390: add support for IBM z15 machines 2019-09-13 12:19:14 +02:00