History

Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull perf tooling updates from Ingo Molnar: "Tooling changes only: fixes and a few stray improvements. Most of the diffstat is dominated by a PowerPC related fix of system call trace output beautification that allows us to (again) use the UAPI header version and sync up with the kernel's version of PowerPC system call names in the arch/powerpc/kernel/syscalls/syscall.tbl header" * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (36 commits) tools headers powerpc: Remove unistd.h perf powerpc: Rework syscall table generation perf symbols: Add 'arch_cpu_idle' to the list of kernel idle symbols tools include uapi: Sync linux/if_link.h copy with the kernel sources tools include uapi: Sync linux/vhost.h with the kernel sources tools include uapi: Sync linux/fs.h copy with the kernel sources perf beauty: Switch from using uapi/linux/fs.h to uapi/linux/mount.h tools include uapi: Grab a copy of linux/mount.h perf top: Lift restriction on using callchains without "sym" in --sort tools lib traceevent: Remove tep_data_event_from_type() API tools lib traceevent: Rename tep_is_file_bigendian() to tep_file_bigendian() tools lib traceevent: Changed return logic of tep_register_event_handler() API tools lib traceevent: Changed return logic of trace_seq_printf() and trace_seq_vprintf() APIs tools lib traceevent: Rename struct cmdline to struct tep_cmdline tools lib traceevent: Initialize host_bigendian at tep_handle allocation tools lib traceevent: Introduce new libtracevent API: tep_override_comm() perf tests: Add a test for the ARM 32-bit [vectors] page perf tools: Make find_vdso_map() more modular perf trace: Fix alignment for [continued] lines perf trace: Fix ')' placement in "interrupted" syscall lines ...

Linus Torvalds committed 7 years ago

Commit 40a31da2 parents e8af37f 4e72ee843 files · +797 −697Browse files

Showing the changes to tools/include/uapi (9 of 43 files). Show all

Unified · Split

9 files
  1. tools/include/uapi/asm-generic/unistd.h +3 −1
  2. tools/include/uapi/drm/i915_drm.h +8 −0
  3. tools/include/uapi/linux/fs.h +8 −52
  4. tools/include/uapi/linux/if_link.h +19 −0
  5. tools/include/uapi/linux/in.h +7 −3
  6. tools/include/uapi/linux/kvm.h +19 −0
  7. tools/include/uapi/linux/mount.h +58 −0
  8. tools/include/uapi/linux/prctl.h +8 −0
  9. tools/include/uapi/linux/vhost.h +2 −111
tools/include/uapi/asm-generic/unistd.h+3−1
@@ -738,9 +738,11 @@ __SYSCALL(__NR_statx, sys_statx) · 737 unmodified lines
738738 __SC_COMP(__NR_io_pgetevents, sys_io_pgetevents, compat_sys_io_pgetevents)
739739 #define __NR_rseq 293
740740 __SYSCALL(__NR_rseq, sys_rseq)
741+#define __NR_kexec_file_load 294
742+__SYSCALL(__NR_kexec_file_load, sys_kexec_file_load)
741743
742744 #undef __NR_syscalls
743−#define __NR_syscalls 294
745+#define __NR_syscalls 295
744746
745747 /*
746748 * 32 bit systems traditionally used different
tools/include/uapi/drm/i915_drm.h+8−0
@@ -412,6 +412,14 @@ typedef struct drm_i915_irq_wait { · 411 unmodified lines
412412 int irq_seq;
413413 } drm_i915_irq_wait_t;
414414
415+/*
416+ * Different modes of per-process Graphics Translation Table,
417+ * see I915_PARAM_HAS_ALIASING_PPGTT
418+ */
419+#define I915_GEM_PPGTT_NONE 0
420+#define I915_GEM_PPGTT_ALIASING 1
421+#define I915_GEM_PPGTT_FULL 2
422+
415423 /* Ioctl to query kernel params:
416424 */
417425 #define I915_PARAM_IRQ_ACTIVE 1
tools/include/uapi/linux/fs.h+8−52
@@ -14,6 +14,11 @@ · 13 unmodified lines
1414 #include <linux/ioctl.h>
1515 #include <linux/types.h>
1616
17+/* Use of MS_* flags within the kernel is restricted to core mount(2) code. */
18+#if !defined(__KERNEL__)
19+#include <linux/mount.h>
20+#endif
21+
1722 /*
1823 * It's silly to have NR_OPEN bigger than NR_FILE, but you can change
1924 * the file limit at runtime and only root can increase the per-process
@@ -101,57 +106,6 @@ struct inodes_stat_t { · 81 unmodified lines
101106
102107 #define NR_FILE 8192 /* this can well be larger on a larger system */
103108
104−
105−/*
106− * These are the fs-independent mount-flags: up to 32 flags are supported
107− */
108−#define MS_RDONLY 1 /* Mount read-only */
109−#define MS_NOSUID 2 /* Ignore suid and sgid bits */
110−#define MS_NODEV 4 /* Disallow access to device special files */
111−#define MS_NOEXEC 8 /* Disallow program execution */
112−#define MS_SYNCHRONOUS 16 /* Writes are synced at once */
113−#define MS_REMOUNT 32 /* Alter flags of a mounted FS */
114−#define MS_MANDLOCK 64 /* Allow mandatory locks on an FS */
115−#define MS_DIRSYNC 128 /* Directory modifications are synchronous */
116−#define MS_NOATIME 1024 /* Do not update access times. */
117−#define MS_NODIRATIME 2048 /* Do not update directory access times */
118−#define MS_BIND 4096
119−#define MS_MOVE 8192
120−#define MS_REC 16384
121−#define MS_VERBOSE 32768 /* War is peace. Verbosity is silence.
122− MS_VERBOSE is deprecated. */
123−#define MS_SILENT 32768
124−#define MS_POSIXACL (1<<16) /* VFS does not apply the umask */
125−#define MS_UNBINDABLE (1<<17) /* change to unbindable */
126−#define MS_PRIVATE (1<<18) /* change to private */
127−#define MS_SLAVE (1<<19) /* change to slave */
128−#define MS_SHARED (1<<20) /* change to shared */
129−#define MS_RELATIME (1<<21) /* Update atime relative to mtime/ctime. */
130−#define MS_KERNMOUNT (1<<22) /* this is a kern_mount call */
131−#define MS_I_VERSION (1<<23) /* Update inode I_version field */
132−#define MS_STRICTATIME (1<<24) /* Always perform atime updates */
133−#define MS_LAZYTIME (1<<25) /* Update the on-disk [acm]times lazily */
134−
135−/* These sb flags are internal to the kernel */
136−#define MS_SUBMOUNT (1<<26)
137−#define MS_NOREMOTELOCK (1<<27)
138−#define MS_NOSEC (1<<28)
139−#define MS_BORN (1<<29)
140−#define MS_ACTIVE (1<<30)
141−#define MS_NOUSER (1<<31)
142−
143−/*
144− * Superblock flags that can be altered by MS_REMOUNT
145− */
146−#define MS_RMT_MASK (MS_RDONLY|MS_SYNCHRONOUS|MS_MANDLOCK|MS_I_VERSION|\
147− MS_LAZYTIME)
148−
149−/*
150− * Old magic mount flag and mask
151− */
152−#define MS_MGC_VAL 0xC0ED0000
153−#define MS_MGC_MSK 0xffff0000
154−
155109 /*
156110 * Structure for FS_IOC_FSGETXATTR[A] and FS_IOC_FSSETXATTR.
157111 */
@@ -269,7 +223,8 @@ struct fsxattr { · 111 unmodified lines
269223 #define FS_POLICY_FLAGS_PAD_16 0x02
270224 #define FS_POLICY_FLAGS_PAD_32 0x03
271225 #define FS_POLICY_FLAGS_PAD_MASK 0x03
272−#define FS_POLICY_FLAGS_VALID 0x03
226+#define FS_POLICY_FLAG_DIRECT_KEY 0x04 /* use master key directly */
227+#define FS_POLICY_FLAGS_VALID 0x07
273228
274229 /* Encryption algorithms */
275230 #define FS_ENCRYPTION_MODE_INVALID 0
@@ -281,6 +236,7 @@ struct fsxattr { · 5 unmodified lines
281236 #define FS_ENCRYPTION_MODE_AES_128_CTS 6
282237 #define FS_ENCRYPTION_MODE_SPECK128_256_XTS 7 /* Removed, do not use. */
283238 #define FS_ENCRYPTION_MODE_SPECK128_256_CTS 8 /* Removed, do not use. */
239+#define FS_ENCRYPTION_MODE_ADIANTUM 9
284240
285241 struct fscrypt_policy {
286242 __u8 version;
tools/include/uapi/linux/if_link.h+19−0
@@ -288,6 +288,7 @@ enum { · 287 unmodified lines
288288 IFLA_BR_MCAST_IGMP_VERSION,
289289 IFLA_BR_MCAST_MLD_VERSION,
290290 IFLA_BR_VLAN_STATS_PER_PORT,
291+ IFLA_BR_MULTI_BOOLOPT,
291292 __IFLA_BR_MAX,
292293 };
293294
@@ -533,6 +534,7 @@ enum { · 239 unmodified lines
533534 IFLA_VXLAN_LABEL,
534535 IFLA_VXLAN_GPE,
535536 IFLA_VXLAN_TTL_INHERIT,
537+ IFLA_VXLAN_DF,
536538 __IFLA_VXLAN_MAX
537539 };
538540 #define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1)
@@ -542,6 +544,14 @@ struct ifla_vxlan_port_range { · 3 unmodified lines
542544 __be16 high;
543545 };
544546
547+enum ifla_vxlan_df {
548+ VXLAN_DF_UNSET = 0,
549+ VXLAN_DF_SET,
550+ VXLAN_DF_INHERIT,
551+ __VXLAN_DF_END,
552+ VXLAN_DF_MAX = __VXLAN_DF_END - 1,
553+};
554+
545555 /* GENEVE section */
546556 enum {
547557 IFLA_GENEVE_UNSPEC,
@@ -557,10 +567,19 @@ enum { · 9 unmodified lines
557567 IFLA_GENEVE_UDP_ZERO_CSUM6_RX,
558568 IFLA_GENEVE_LABEL,
559569 IFLA_GENEVE_TTL_INHERIT,
570+ IFLA_GENEVE_DF,
560571 __IFLA_GENEVE_MAX
561572 };
562573 #define IFLA_GENEVE_MAX (__IFLA_GENEVE_MAX - 1)
563574
575+enum ifla_geneve_df {
576+ GENEVE_DF_UNSET = 0,
577+ GENEVE_DF_SET,
578+ GENEVE_DF_INHERIT,
579+ __GENEVE_DF_END,
580+ GENEVE_DF_MAX = __GENEVE_DF_END - 1,
581+};
582+
564583 /* PPP section */
565584 enum {
566585 IFLA_PPP_UNSPEC,
tools/include/uapi/linux/in.h+7−3
@@ -266,10 +266,14 @@ struct sockaddr_in { · 265 unmodified lines
266266
267267 #define IN_CLASSD(a) ((((long int) (a)) & 0xf0000000) == 0xe0000000)
268268 #define IN_MULTICAST(a) IN_CLASSD(a)
269−#define IN_MULTICAST_NET 0xF0000000
269+#define IN_MULTICAST_NET 0xe0000000
270270
271−#define IN_EXPERIMENTAL(a) ((((long int) (a)) & 0xf0000000) == 0xf0000000)
272−#define IN_BADCLASS(a) IN_EXPERIMENTAL((a))
271+#define IN_BADCLASS(a) ((((long int) (a) ) == 0xffffffff)
272+#define IN_EXPERIMENTAL(a) IN_BADCLASS((a))
273+
274+#define IN_CLASSE(a) ((((long int) (a)) & 0xf0000000) == 0xf0000000)
275+#define IN_CLASSE_NET 0xffffffff
276+#define IN_CLASSE_NSHIFT 0
273277
274278 /* Address to accept any incoming messages. */
275279 #define INADDR_ANY ((unsigned long int) 0x00000000)
tools/include/uapi/linux/kvm.h+19−0
@@ -492,6 +492,17 @@ struct kvm_dirty_log { · 491 unmodified lines
492492 };
493493 };
494494
495+/* for KVM_CLEAR_DIRTY_LOG */
496+struct kvm_clear_dirty_log {
497+ __u32 slot;
498+ __u32 num_pages;
499+ __u64 first_page;
500+ union {
501+ void __user *dirty_bitmap; /* one bit per page */
502+ __u64 padding2;
503+ };
504+};
505+
495506 /* for KVM_SET_SIGNAL_MASK */
496507 struct kvm_signal_mask {
497508 __u32 len;
@@ -975,6 +986,8 @@ struct kvm_ppc_resize_hpt { · 477 unmodified lines
975986 #define KVM_CAP_HYPERV_ENLIGHTENED_VMCS 163
976987 #define KVM_CAP_EXCEPTION_PAYLOAD 164
977988 #define KVM_CAP_ARM_VM_IPA_SIZE 165
989+#define KVM_CAP_MANUAL_DIRTY_LOG_PROTECT 166
990+#define KVM_CAP_HYPERV_CPUID 167
978991
979992 #ifdef KVM_CAP_IRQ_ROUTING
980993
@@ -1421,6 +1434,12 @@ struct kvm_enc_region { · 440 unmodified lines
14211434 #define KVM_GET_NESTED_STATE _IOWR(KVMIO, 0xbe, struct kvm_nested_state)
14221435 #define KVM_SET_NESTED_STATE _IOW(KVMIO, 0xbf, struct kvm_nested_state)
14231436
1437+/* Available with KVM_CAP_MANUAL_DIRTY_LOG_PROTECT */
1438+#define KVM_CLEAR_DIRTY_LOG _IOWR(KVMIO, 0xc0, struct kvm_clear_dirty_log)
1439+
1440+/* Available with KVM_CAP_HYPERV_CPUID */
1441+#define KVM_GET_SUPPORTED_HV_CPUID _IOWR(KVMIO, 0xc1, struct kvm_cpuid2)
1442+
14241443 /* Secure Encrypted Virtualization command */
14251444 enum sev_cmd_id {
14261445 /* Guest initialization commands */
tools/include/uapi/linux/mount.h+58−0
@@ -0,0 +1,58 @@
1+#ifndef _UAPI_LINUX_MOUNT_H
2+#define _UAPI_LINUX_MOUNT_H
3+
4+/*
5+ * These are the fs-independent mount-flags: up to 32 flags are supported
6+ *
7+ * Usage of these is restricted within the kernel to core mount(2) code and
8+ * callers of sys_mount() only. Filesystems should be using the SB_*
9+ * equivalent instead.
10+ */
11+#define MS_RDONLY 1 /* Mount read-only */
12+#define MS_NOSUID 2 /* Ignore suid and sgid bits */
13+#define MS_NODEV 4 /* Disallow access to device special files */
14+#define MS_NOEXEC 8 /* Disallow program execution */
15+#define MS_SYNCHRONOUS 16 /* Writes are synced at once */
16+#define MS_REMOUNT 32 /* Alter flags of a mounted FS */
17+#define MS_MANDLOCK 64 /* Allow mandatory locks on an FS */
18+#define MS_DIRSYNC 128 /* Directory modifications are synchronous */
19+#define MS_NOATIME 1024 /* Do not update access times. */
20+#define MS_NODIRATIME 2048 /* Do not update directory access times */
21+#define MS_BIND 4096
22+#define MS_MOVE 8192
23+#define MS_REC 16384
24+#define MS_VERBOSE 32768 /* War is peace. Verbosity is silence.
25+ MS_VERBOSE is deprecated. */
26+#define MS_SILENT 32768
27+#define MS_POSIXACL (1<<16) /* VFS does not apply the umask */
28+#define MS_UNBINDABLE (1<<17) /* change to unbindable */
29+#define MS_PRIVATE (1<<18) /* change to private */
30+#define MS_SLAVE (1<<19) /* change to slave */
31+#define MS_SHARED (1<<20) /* change to shared */
32+#define MS_RELATIME (1<<21) /* Update atime relative to mtime/ctime. */
33+#define MS_KERNMOUNT (1<<22) /* this is a kern_mount call */
34+#define MS_I_VERSION (1<<23) /* Update inode I_version field */
35+#define MS_STRICTATIME (1<<24) /* Always perform atime updates */
36+#define MS_LAZYTIME (1<<25) /* Update the on-disk [acm]times lazily */
37+
38+/* These sb flags are internal to the kernel */
39+#define MS_SUBMOUNT (1<<26)
40+#define MS_NOREMOTELOCK (1<<27)
41+#define MS_NOSEC (1<<28)
42+#define MS_BORN (1<<29)
43+#define MS_ACTIVE (1<<30)
44+#define MS_NOUSER (1<<31)
45+
46+/*
47+ * Superblock flags that can be altered by MS_REMOUNT
48+ */
49+#define MS_RMT_MASK (MS_RDONLY|MS_SYNCHRONOUS|MS_MANDLOCK|MS_I_VERSION|\
50+ MS_LAZYTIME)
51+
52+/*
53+ * Old magic mount flag and mask
54+ */
55+#define MS_MGC_VAL 0xC0ED0000
56+#define MS_MGC_MSK 0xffff0000
57+
58+#endif /* _UAPI_LINUX_MOUNT_H */
tools/include/uapi/linux/prctl.h+8−0
@@ -220,4 +220,12 @@ struct prctl_mm_map { · 219 unmodified lines
220220 # define PR_SPEC_DISABLE (1UL << 2)
221221 # define PR_SPEC_FORCE_DISABLE (1UL << 3)
222222
223+/* Reset arm64 pointer authentication keys */
224+#define PR_PAC_RESET_KEYS 54
225+# define PR_PAC_APIAKEY (1UL << 0)
226+# define PR_PAC_APIBKEY (1UL << 1)
227+# define PR_PAC_APDAKEY (1UL << 2)
228+# define PR_PAC_APDBKEY (1UL << 3)
229+# define PR_PAC_APGAKEY (1UL << 4)
230+
223231 #endif /* _LINUX_PRCTL_H */
tools/include/uapi/linux/vhost.h+2−111
@@ -11,94 +11,9 @@ · 10 unmodified lines
1111 * device configuration.
1212 */
1313
14+#include <linux/vhost_types.h>
1415 #include <linux/types.h>
15−#include <linux/compiler.h>
1616 #include <linux/ioctl.h>
17−#include <linux/virtio_config.h>
18−#include <linux/virtio_ring.h>
19−
20−struct vhost_vring_state {
21− unsigned int index;
22− unsigned int num;
23−};
24−
25−struct vhost_vring_file {
26− unsigned int index;
27− int fd; /* Pass -1 to unbind from file. */
28−
29−};
30−
31−struct vhost_vring_addr {
32− unsigned int index;
33− /* Option flags. */
34− unsigned int flags;
35− /* Flag values: */
36− /* Whether log address is valid. If set enables logging. */
37−#define VHOST_VRING_F_LOG 0
38−
39− /* Start of array of descriptors (virtually contiguous) */
40− __u64 desc_user_addr;
41− /* Used structure address. Must be 32 bit aligned */
42− __u64 used_user_addr;
43− /* Available structure address. Must be 16 bit aligned */
44− __u64 avail_user_addr;
45− /* Logging support. */
46− /* Log writes to used structure, at offset calculated from specified
47− * address. Address must be 32 bit aligned. */
48− __u64 log_guest_addr;
49−};
50−
51−/* no alignment requirement */
52−struct vhost_iotlb_msg {
53− __u64 iova;
54− __u64 size;
55− __u64 uaddr;
56−#define VHOST_ACCESS_RO 0x1
57−#define VHOST_ACCESS_WO 0x2
58−#define VHOST_ACCESS_RW 0x3
59− __u8 perm;
60−#define VHOST_IOTLB_MISS 1
61−#define VHOST_IOTLB_UPDATE 2
62−#define VHOST_IOTLB_INVALIDATE 3
63−#define VHOST_IOTLB_ACCESS_FAIL 4
64− __u8 type;
65−};
66−
67−#define VHOST_IOTLB_MSG 0x1
68−#define VHOST_IOTLB_MSG_V2 0x2
69−
70−struct vhost_msg {
71− int type;
72− union {
73− struct vhost_iotlb_msg iotlb;
74− __u8 padding[64];
75− };
76−};
77−
78−struct vhost_msg_v2 {
79− __u32 type;
80− __u32 reserved;
81− union {
82− struct vhost_iotlb_msg iotlb;
83− __u8 padding[64];
84− };
85−};
86−
87−struct vhost_memory_region {
88− __u64 guest_phys_addr;
89− __u64 memory_size; /* bytes */
90− __u64 userspace_addr;
91− __u64 flags_padding; /* No flags are currently specified. */
92−};
93−
94−/* All region addresses and sizes must be 4K aligned. */
95−#define VHOST_PAGE_SIZE 0x1000
96−
97−struct vhost_memory {
98− __u32 nregions;
99− __u32 padding;
100− struct vhost_memory_region regions[0];
101−};
10217
10318 /* ioctls */
10419
@@ -186,31 +101,7 @@ struct vhost_memory { · 81 unmodified lines
186101 * device. This can be used to stop the ring (e.g. for migration). */
187102 #define VHOST_NET_SET_BACKEND _IOW(VHOST_VIRTIO, 0x30, struct vhost_vring_file)
188103
189−/* Feature bits */
190−/* Log all write descriptors. Can be changed while device is active. */
191−#define VHOST_F_LOG_ALL 26
192−/* vhost-net should add virtio_net_hdr for RX, and strip for TX packets. */
193−#define VHOST_NET_F_VIRTIO_NET_HDR 27
194−
195−/* VHOST_SCSI specific definitions */
196−
197−/*
198− * Used by QEMU userspace to ensure a consistent vhost-scsi ABI.
199− *
200− * ABI Rev 0: July 2012 version starting point for v3.6-rc merge candidate +
201− * RFC-v2 vhost-scsi userspace. Add GET_ABI_VERSION ioctl usage
202− * ABI Rev 1: January 2013. Ignore vhost_tpgt filed in struct vhost_scsi_target.
203− * All the targets under vhost_wwpn can be seen and used by guset.
204− */
205−
206−#define VHOST_SCSI_ABI_VERSION 1
207−
208−struct vhost_scsi_target {
209− int abi_version;
210− char vhost_wwpn[224]; /* TRANSPORT_IQN_LEN */
211− unsigned short vhost_tpgt;
212− unsigned short reserved;
213−};
104+/* VHOST_SCSI specific defines */
214105
215106 #define VHOST_SCSI_SET_ENDPOINT _IOW(VHOST_VIRTIO, 0x40, struct vhost_scsi_target)
216107 #define VHOST_SCSI_CLEAR_ENDPOINT _IOW(VHOST_VIRTIO, 0x41, struct vhost_scsi_target)