linux/include
Thomas Richter a029a4eab3 s390/cpumf: Allow concurrent access for CPU Measurement Counter Facility
Commit cf6acb8bdb ("s390/cpumf: Add support for complete counter set extraction")
allows access to the CPU Measurement Counter Facility via character
device /dev/hwctr. The access was exclusive via this device or
via perf_event_open() system call. Only one path at a time was
permitted. The CPU Measurement Counter Facility device driver blocked
access to other processes.

This patch removes this restriction and allows concurrent access to
the CPU Measurement Counter Facility from multiple processes at the same
time via perf_event_open() SVC and via /dev/hwctr device. The access
via /dev/hwctr device is still exclusive, only one process is allowed to
access this device.

This patch
- moves the /dev/hwctr device access from file perf_cpum_cf_diag.c.
  to file perf_cpum_cf.c.
- use only one trace buffer .../s390dbf/cpum_cf.
- remove cfset_csd structure and includes its members it into the
  structure cpu_cf_events. This results in one data structure and
  simplifies the access.
- rework function familiy ctr_set_enable, ctr_set_disable, ctr_set_start
  and ctr_set_stop which operate on a counter set number.
  Now they operate on a counter set bit mask.
- move CF_DIAG event functionality to file perf_cpum_cf.c. It now
  contains the complete functionality of the CPU Measurement Counter
  Facility:
  - Performance measurement support for counters using perf stat.
  - Support for complete counter set extraction with device /dev/hwctr.
  - Support for counter set extraction event CF_DIAG attached to
    samples using perf record.
- removes file perf_cpum_cf_diag.c

Signed-off-by: Thomas Richter <tmricht@linux.ibm.com>
Reviewed-by: Sumanth Korikkar <sumanthk@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2021-07-05 12:44:23 +02:00
..
acpi IOMMU Updates for Linux v5.14 2021-07-02 13:22:47 -07:00
asm-generic asm-generic/unaligned: Unify asm/unaligned.h around struct helper 2021-07-02 12:43:40 -07:00
clocksource
crypto crypto: api - Move crypto attr definitions out of crypto.h 2021-06-24 14:51:35 +08:00
drm drm/amd/display: Partition DPCD address space and break up transactions 2021-06-15 17:25:41 -04:00
dt-bindings sound updates for 5.14 2021-07-02 15:25:23 -07:00
keys
kunit linux-kselftest-kunit-fixes-5.14-rc1 2021-07-02 12:58:26 -07:00
kvm
linux s390/cpumf: Allow concurrent access for CPU Measurement Counter Facility 2021-07-05 12:44:23 +02:00
math-emu
media media: Fix Media Controller API config checks 2021-06-24 14:26:00 +02:00
memory
misc
net Merge branch 'work.iov_iter' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2021-07-03 11:30:04 -07:00
pcmcia
ras
rdma IB/core: Shuffle locks in ib_port_data to save memory 2021-06-21 20:49:32 -03:00
scsi SCSI misc on 20210702 2021-07-02 15:14:36 -07:00
soc mbox: add polarfire soc system controller mailbox 2021-06-26 12:06:48 -05:00
sound ASoC: Updates for v5.14 2021-07-01 08:36:12 +02:00
target
trace Tracing updates for 5.14: 2021-07-03 11:13:22 -07:00
uapi cxl for 5.14 2021-07-04 11:55:13 -07:00
vdso
video
xen