twx-linux/include/uapi/linux
Alexander Shishkin ec0d7729bb perf: Add ITRACE_START record to indicate that tracing has started
For counters that generate AUX data that is bound to the context of a
running task, such as instruction tracing, the decoder needs to know
exactly which task is running when the event is first scheduled in,
before the first sched_switch. The decoder's need to know this stems
from the fact that instruction flow trace decoding will almost always
require program's object code in order to reconstruct said flow and
for that we need at least its pid/tid in the perf stream.

To single out such instruction tracing pmus, this patch introduces
ITRACE PMU capability. The reason this is not part of RECORD_AUX
record is that not all pmus capable of generating AUX data need this,
and the opposite is *probably* also true.

While sched_switch covers for most cases, there are two problems with it:
the consumer will need to process events out of order (that is, having
found RECORD_AUX, it will have to skip forward to the nearest sched_switch
to figure out which task it was, then go back to the actual trace to
decode it) and it completely misses the case when the tracing is enabled
and disabled before sched_switch, for example, via PERF_EVENT_IOC_DISABLE.

Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Kaixu Xia <kaixu.xia@linaro.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Robert Richter <rric@kernel.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: acme@infradead.org
Cc: adrian.hunter@intel.com
Cc: kan.liang@intel.com
Cc: markus.t.metzger@intel.com
Cc: mathieu.poirier@linaro.org
Link: http://lkml.kernel.org/r/1421237903-181015-15-git-send-email-alexander.shishkin@linux.intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2015-04-02 17:14:17 +02:00
..
android android: uapi: binder.h 2014-10-20 10:30:15 +08:00
byteorder
caif
can can: m_can: tag current CAN FD controllers as non-ISO 2015-01-15 16:57:59 +01:00
cifs
dvb
genwqe GenWQE: Update author information 2014-09-23 23:15:46 -07:00
hdlc
hsi
isdn
mmc
netfilter netfilter: ipset: Alignment problem between 64bit kernel 32bit userspace 2014-12-03 12:43:35 +01:00
netfilter_arp uapi: netfilter_arp: use __u8 instead of u_int8_t 2014-08-20 15:13:08 +02:00
netfilter_bridge netfilter: kill ulog targets 2014-06-25 19:28:43 +02:00
netfilter_ipv4 netfilter: kill ulog targets 2014-06-25 19:28:43 +02:00
netfilter_ipv6
nfsd nfsd: implement pNFS operations 2015-02-02 18:09:42 +01:00
raid md: discard PRINT_RAID_DEBUG ioctl 2014-10-14 13:08:29 +11:00
spi
sunrpc
tc_act net: sched: export tc_connmark.h so it is uapi accessible 2015-02-23 16:41:08 -05:00
tc_ematch
usb usb: gadget: ffs: add eventfd notification about ffs events 2015-01-27 09:34:59 -06:00
wimax
a.out.h
acct.h
adb.h
adfs_fs.h
affs_hardblocks.h
agpgart.h
aio_abi.h
am437x-vpfe.h [media] media: platform: add VPFE capture driver support for AM437X 2014-12-23 12:09:58 -02:00
apm_bios.h
arcfb.h
atalk.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_tcp.h
atm_zatm.h
atm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
audit.h powerpc updates for 3.19 batch 2 2014-12-19 12:57:45 -08:00
auto_fs4.h
auto_fs.h
auxvec.h
ax25.h
b1lli.h
baycom.h
bcache.h
bcm933xx_hcs.h
bfs_fs.h
binfmts.h
blkpg.h
blktrace_api.h
bpf_common.h net: filter: move common defines into bpf_common.h 2014-10-14 16:06:45 -04:00
bpf.h tracing: Allow BPF programs to call bpf_trace_printk() 2015-04-02 13:25:50 +02:00
bpqether.h
bsg.h block SG_IO: add SG_FLAG_Q_AT_HEAD flag 2014-07-01 10:48:05 -06:00
btrfs.h Btrfs: Remove unnecessary placeholder in btrfs_err_code 2015-02-02 19:25:51 -08:00
can.h can: unify identifiers to ensure unique include processing 2014-05-19 09:38:24 +02:00
capability.h audit: add netlink audit protocol bind to check capabilities on multicast join 2014-04-22 21:42:27 -04:00
capi.h isdn: capi: fix "CAPI_VERSION" comment 2014-03-20 14:55:18 +01:00
cciss_defs.h
cciss_ioctl.h
cdrom.h
cgroupstats.h
chio.h
cm4000_cs.h
cn_proc.h
coda_psdev.h
coda.h
coff.h
connector.h
const.h
cramfs_fs.h
cuda.h
cyclades.h
cycx_cfm.h
dcbnl.h dcbnl : Fix misleading dcb_app->priority explanation 2014-07-30 17:21:05 -07:00
dccp.h
dlm_device.h
dlm_netlink.h
dlm_plock.h
dlm.h
dlmconstants.h dlm: adopt orphan locks 2014-11-19 14:48:02 -06:00
dm-ioctl.h dm: allocate requests in target when stacking on blk-mq devices 2015-02-09 13:06:47 -05:00
dm-log-userspace.h
dn.h
dqblk_xfs.h
edd.h
efs_fs_sb.h
elf-em.h Add ELF machine define for Nios2 2014-12-08 12:55:57 +08:00
elf-fdpic.h
elf.h arm64: ptrace: add NT_ARM_SYSTEM_CALL regset 2014-11-28 10:19:49 +00:00
elfcore.h
errno.h
errqueue.h net-timestamp: ACK timestamp for bytestreams 2014-08-05 16:35:54 -07:00
ethtool.h ethtool: rename reserved1 memeber in ethtool_drvinfo for expansion ROM version 2015-02-09 14:07:54 -08:00
eventpoll.h
fadvise.h
falloc.h fs: Introduce FALLOC_FL_ZERO_RANGE flag for fallocate 2014-03-13 19:07:42 +11:00
fanotify.h
fb.h
fcntl.h shm: add sealing API 2014-08-08 15:57:31 -07:00
fd.h
fdreg.h
fib_rules.h
fiemap.h
filter.h net: filter: move common defines into bpf_common.h 2014-10-14 16:06:45 -04:00
firewire-cdev.h
firewire-constants.h
flat.h
fou.h gue: Use checksum partial with remote checksum offload 2015-02-11 15:12:13 -08:00
fs.h vfs: add support for a lazytime mount option 2015-02-05 02:45:00 -05:00
fsl_hypervisor.h
fuse.h fuse: add FUSE_NO_OPEN_SUPPORT flag to INIT 2014-07-22 16:37:43 +02:00
futex.h
gameport.h
gen_stats.h
genetlink.h
gfs2_ondisk.h GFS2: remove transaction glock 2014-05-14 10:04:34 +01:00
gigaset_dev.h
hash_info.h
hdlc.h
hdlcdrv.h
hdreg.h
hid.h
hiddev.h
hidraw.h
hpet.h
hsr_netlink.h
hw_breakpoint.h
hyperv.h Drivers: hv: util: make struct hv_do_fcopy match Hyper-V host messages 2014-11-07 10:21:44 -08:00
hysdn_if.h
i2c-dev.h
i2c.h
i2o-dev.h
i8k.h i8k: uapi: Introduce define for new highest fan speed 2014-07-09 16:41:36 -07:00
icmp.h
icmpv6.h
if_addr.h
if_addrlabel.h
if_alg.h crypto: af_alg - add user space interface for AEAD 2014-12-05 23:56:55 +08:00
if_arcnet.h
if_arp.h
if_bonding.h
if_bridge.h bridge: support for multiple vlans and vlan ranges in setlink and dellink requests 2015-01-12 16:47:04 -05:00
if_cablemodem.h
if_eql.h
if_ether.h net: dsa: reduce number of protocol hooks 2014-08-27 22:59:39 -07:00
if_fc.h
if_fddi.h FDDI: Reformat <linux/if_fddi.h> for 8-character tabs 2014-04-27 19:08:06 -04:00
if_frad.h
if_hippi.h
if_infiniband.h
if_link.h vxlan: Use checksum partial with remote checksum offload 2015-02-11 15:12:13 -08:00
if_ltalk.h
if_packet.h packet: remove deprecated syststamp timestamp 2014-07-29 11:39:50 -07:00
if_phonet.h
if_plip.h
if_ppp.h
if_pppol2tp.h
if_pppox.h
if_slip.h
if_team.h
if_tun.h if_tun: drop broken IFF_VNET_LE 2014-12-16 11:19:42 -05:00
if_tunnel.h gue: TX support for using remote checksum offload option 2014-11-05 16:30:03 -05:00
if_vlan.h
if_x25.h
if.h
igmp.h
in6.h in6: fix conflict with glibc 2014-12-22 16:12:36 -05:00
in_route.h
in.h ip: Add offset parameter to ip_cmsg_recv 2015-01-05 22:44:46 -05:00
inet_diag.h net: tcp: add DCTCP congestion control algorithm 2014-09-29 00:13:10 -04:00
inotify.h
input.h HID: wacom: add support for Cintiq 27QHD and 27QHD touch 2015-01-29 14:05:05 +01:00
ioctl.h
ip6_tunnel.h
ip_vs.h ipvs: Add destination address family to netlink interface 2014-09-16 09:03:33 +09:00
ip.h
ipc.h
ipmi_msgdefs.h
ipmi.h
ipsec.h
ipv6_route.h
ipv6.h net: ipv6: Add sysctl entry to disable MTU updates from RA 2015-01-25 14:54:41 -08:00
ipx.h
irda.h
irqnr.h
isdn_divertif.h
isdn_ppp.h
isdn.h
isdnif.h
iso_fs.h
ivtv.h
ivtvfb.h
ixjuser.h
jffs2.h
joystick.h
Kbuild fs/binfmt_som: Drop kernel support for HP-UX SOM binaries 2015-02-17 16:29:36 +01:00
kcmp.h kcmp: Move kcmp.h into uapi 2014-12-02 13:52:53 -07:00
kd.h
kdev_t.h
kernel-page-flags.h mm:add KPF_ZERO_PAGE flag for /proc/kpageflags 2015-02-11 17:06:00 -08:00
kernel.h
kernelcapi.h
kexec.h kexec: Fix make headers_check 2015-02-17 14:34:51 -08:00
keyboard.h
keyctl.h
kfd_ioctl.h drm/amdkfd: reformat IOCTL definitions to drm-style 2015-01-06 19:44:36 +02:00
kvm_para.h MIPS: Add functions for hypervisor call 2014-05-30 21:01:11 +02:00
kvm.h KVM: s390: fixes and features for kvm/next (3.20) 2015-01-23 14:33:36 +01:00
l2tp.h l2tp : multicast notification to the registered listeners 2014-12-31 14:17:20 -05:00
libc-compat.h ipv6: fix redefinition of in6_pktinfo and ip6_mtuinfo 2015-01-08 19:29:11 -08:00
limits.h
llc.h
loop.h
lp.h
magic.h take the targets of /proc/*/ns/* symlinks to separate fs 2014-12-10 21:30:20 -05:00
major.h
map_to_7segment.h
matroxfb.h
mdio.h
media-bus-format.h [media] Move mediabus format definition to a more standard place 2014-11-14 17:47:47 -02:00
media.h
mei.h
memfd.h shm: add memfd_create() syscall 2014-08-08 15:57:31 -07:00
mempolicy.h mm: convert p[te|md]_numa users to p[te|md]_protnone_numa 2015-02-12 18:54:08 -08:00
meye.h
mic_common.h
mic_ioctl.h
mii.h
minix_fs.h
mman.h
mmtimer.h
module.h
mpls.h UAPI: add MPLS label stack definition 2014-03-04 13:51:06 -05:00
mqueue.h
mroute6.h
mroute.h
msdos_fs.h msdos_fs.h: fix 'fields' in comment 2015-01-20 13:51:06 +01:00
msg.h ipc/msg: increase MSGMNI, remove scaling 2014-12-13 12:42:52 -08:00
mtio.h
n_r3964.h
nbd.h
ncp_fs.h
ncp_mount.h
ncp_no.h
ncp.h
neighbour.h vxlan: advertise link netns in fdb messages 2015-01-27 17:11:07 -08:00
net_dropmon.h
net_namespace.h netns: add rtnl cmd to add and get peer netns ids 2015-01-19 14:21:18 -05:00
net_tstamp.h net-timestamp: no-payload option 2015-02-02 18:46:51 -08:00
net.h
netconf.h
netdevice.h net: add name_assign_type netdev attribute 2014-07-15 16:12:01 -07:00
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter.h
netlink_diag.h
netlink.h
netrom.h
nfc.h NFC: Forward NFC_EVT_TRANSACTION to user space 2015-02-02 21:50:40 +01:00
nfs2.h
nfs3.h
nfs4_mount.h
nfs4.h
nfs_fs.h
nfs_idmap.h
nfs_mount.h
nfs.h
nfsacl.h
nl80211.h nl80211: don't document per-wiphy interface dump 2015-01-29 16:54:44 +01:00
nubus.h
nvme.h NVMe: Update SCSI Inquiry VPD 83h translation 2015-02-19 16:15:35 -07:00
nvram.h
omap3isp.h
omapfb.h
oom.h
openvswitch.h net: openvswitch: Support masked set actions. 2015-02-07 22:40:17 -08:00
packet_diag.h
param.h
parport.h
patchkey.h
pci_regs.h PCI: Add defines for PCIe Max_Read_Request_Size 2015-01-27 08:14:26 -06:00
pci.h
perf_event.h perf: Add ITRACE_START record to indicate that tracing has started 2015-04-02 17:14:17 +02:00
personality.h
pfkeyv2.h
pg.h
phantom.h
phonet.h
pkt_cls.h
pkt_sched.h pkt_sched: fq: better control of DDOS traffic 2015-02-04 22:15:45 -08:00
pktcdvd.h
pmu.h
poll.h
posix_types.h
ppdev.h
ppp_defs.h
ppp-comp.h
ppp-ioctl.h
pps.h
prctl.h MIPS,prctl: add PR_[GS]ET_FP_MODE prctl options for MIPS 2015-02-12 12:30:29 +01:00
psci.h ARM/ARM64: KVM: Add common header for PSCI related defines 2014-04-30 04:18:57 -07:00
ptp_clock.h ptp: introduce programmable pins. 2014-03-21 14:21:13 -04:00
ptrace.h
qnx4_fs.h
qnxtypes.h
quota.h quota: Cleanup flags definitions 2015-01-21 19:21:30 +01:00
radeonfb.h
random.h random: introduce getrandom(2) system call 2014-08-05 16:41:22 -04:00
raw.h
rds.h
reboot.h
reiserfs_fs.h
reiserfs_xattr.h
resource.h
rfkill.h
romfs_fs.h
rose.h
route.h
rtc.h
rtnetlink.h netns: add rtnl cmd to add and get peer netns ids 2015-01-19 14:21:18 -05:00
scc.h
sched.h sched: Update comments about CLONE_NEWUTS and CLONE_NEWIPC 2014-11-16 10:58:53 +01:00
screen_info.h
sctp.h net: sctp: implement rfc6458, 8.1.31. SCTP_DEFAULT_SNDINFO support 2014-07-16 14:40:04 -07:00
sdla.h
seccomp.h seccomp: implement SECCOMP_FILTER_FLAG_TSYNC 2014-07-18 12:13:40 -07:00
securebits.h
selinux_netlink.h
sem.h ipc/sem.c: increase SEMMSL, SEMMNI, SEMOPM 2014-12-13 12:42:52 -08:00
serial_core.h serial: driver for ETRAX FS UART 2015-02-07 18:43:16 +08:00
serial_reg.h tty: 8250: Add 64byte UART support for FSL platforms 2015-01-09 14:33:04 -08:00
serial.h serial: uapi: Declare all userspace-visible io types 2015-03-07 03:39:55 +01:00
serio.h Input: add support for Wacom protocol 4 serial tablets 2014-07-20 14:33:23 -07:00
shm.h ipc,shm: document new limits in the uapi header 2014-06-06 16:08:14 -07:00
signal.h
signalfd.h
smiapp.h [media] smiapp: Add driver-specific test pattern menu item definitions 2014-08-21 15:25:11 -05:00
snmp.h tcp: helpers to mitigate ACK loops by rate-limiting out-of-window dupacks 2015-02-08 01:03:12 -08:00
sock_diag.h
socket.h
sockios.h
sonet.h
sonypi.h
sound.h
soundcard.h
stat.h
stddef.h
string.h
suspend_ioctls.h
swab.h
synclink.h
sysctl.h kernel: add panic_on_warn 2014-12-10 17:41:10 -08:00
sysinfo.h
target_core_user.h uapi/linux/target_core_user.h: fix headers_install.sh badness 2014-12-18 11:07:27 -08:00
taskstats.h
tcp_metrics.h
tcp.h
telephony.h
termios.h
thermal.h thermal: provide an UAPI header file 2014-12-09 14:10:41 +08:00
time.h
times.h
timex.h
tiocl.h
tipc_config.h tipc: convert legacy nl link stat to nl compat 2015-02-09 13:20:47 -08:00
tipc_netlink.h tipc: add name table dump to new netlink api 2014-11-21 15:01:32 -05:00
tipc.h tipc: add ioctl to fetch link names 2014-04-26 12:13:24 -04:00
toshiba.h
tty_flags.h tty: warn on deprecated serial flags 2014-11-06 15:01:03 -08:00
tty.h
types.h
udf_fs_i.h
udp.h net: Make enabling of zero UDP6 csums more restrictive 2014-05-23 16:28:53 -04:00
uhid.h HID: uhid: report to user-space whether reports are numbered 2014-08-25 03:28:08 -05:00
uinput.h Input: uinput - fix ioctl nr overflow for UI_GET_SYSNAME/VERSION 2015-01-11 16:27:25 -08:00
uio.h
ultrasound.h
un.h
unistd.h
unix_diag.h
usbdevice_fs.h USB: usbfs: allow URBs to be reaped after disconnection 2015-01-31 09:05:06 -08:00
usbip.h usbip: move usbip kernel code out of staging 2014-08-25 10:40:06 -07:00
utime.h
utsname.h
uuid.h
uvcvideo.h
v4l2-common.h [media] v4l: Add V4L2_SEL_TGT_NATIVE_SIZE selection target 2014-12-04 12:37:01 -02:00
v4l2-controls.h [media] adv7180: Add fast switch support 2015-02-02 11:51:38 -02:00
v4l2-dv-timings.h Revert "[media] v4l2-dv-timings: fix a sparse warning" 2014-10-24 08:58:09 -02:00
v4l2-mediabus.h [media] v4l2-mediabus.h: use two __u16 instead of two __u32 2014-12-16 23:21:36 -02:00
v4l2-subdev.h [media] Make use of the new media_bus_format definitions 2014-11-14 17:51:18 -02:00
veth.h
vfio.h vfio-pci: Add device request interface 2015-02-10 12:38:14 -07:00
vhost.h
videodev2.h [media] v4l: Add packed Bayer raw10 pixel formats 2014-12-23 10:57:09 -02:00
virtio_9p.h
virtio_balloon.h virtio_balloon: coding style fixes 2015-01-21 16:28:56 +10:30
virtio_blk.h virtio_blk: fix comment for virtio 1.0 2015-03-10 11:48:29 +10:30
virtio_config.h virtio: Don't expose legacy config features when VIRTIO_CONFIG_NO_LEGACY defined. 2015-02-11 15:03:16 +10:30
virtio_console.h virtio_console: virtio 1.0 support 2014-12-09 12:06:32 +02:00
virtio_ids.h
virtio_net.h virtio_net: unconditionally define struct virtio_net_hdr_v1. 2015-02-17 16:19:27 +10:30
virtio_pci.h virtio: define VIRTIO_PCI_CAP_PCI_CFG in header. 2015-02-11 15:03:15 +10:30
virtio_ring.h virtio_ring: document alignment requirements 2014-12-29 10:54:54 +02:00
virtio_rng.h
virtio_scsi.h uapi/virtio_scsi: allow overriding CDB/SENSE size 2015-03-13 15:55:43 +10:30
virtio_types.h virtio: memory access APIs 2014-12-09 12:05:24 +02:00
vm_sockets.h
vsp1.h
vt.h vt: Remove vt_get_kmsg_redirect() from uapi header 2014-11-05 20:18:30 -08:00
wait.h
wanrouter.h
watchdog.h
wil6210_uapi.h wil6210: atomic I/O for the card memory 2014-10-02 14:23:14 -04:00
wimax.h
wireless.h
x25.h
xattr.h xattr: fix check for simultaneous glibc header inclusion 2014-08-29 16:28:16 -07:00
xfrm.h xfrm: configure policy hash table thresholds by netlink 2014-09-02 13:37:56 +02:00
zorro_ids.h
zorro.h