diff options
author | Ingo Molnar <mingo@kernel.org> | 2018-10-31 22:53:40 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2018-10-31 22:53:40 +0100 |
commit | 29995d296e3e9ce4f9767963ecbef143ade26c36 (patch) | |
tree | cd351a1f6724d308b7eb932e66891047cac9962c /tools/arch | |
parent | 28fa741c27e6d57f6bf594ba3c444ce79e671e09 (diff) | |
parent | 5d4f0edaa3ac4f1844ed7c64cd2bae6f1912bac5 (diff) |
Merge tag 'perf-urgent-for-mingo-4.20-20181031' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
Pull perf/urgent improvements and fixes from Arnaldo Carvalho de Melo:
- Fixes dealing with the removal of the fallback to looking up samples
marked as userspace in the kernel maps, done recently:
- For intel-pt, that was setting the synthesized header misc field
as PERF_RECORD_MISC_USER, depending thus on the fallback to take
place, now it sets as USER or KERNEL according to x86 specific
knowledge. Also now it inserts the PERF_CONTEXT_{USER,KERNEL} into
the PERF_SAMPLE_CALLCHAINs it synthesizes from hw traces (Adrian Hunter)
- Similar fixes for the cs-etm ARM HW trace code, that used the Intel PT
model as a starting point (Leo Yan)
- For the "caller" callchain order, where the callchain returned by the
kernel was simply reversed without taking into account the
PERF_CONTEXT_{USER,KERNEL,etc} markers from where to define if an entry
was for kernel or userspace, working just because the map lookup fallback
was in place (David S. Miller)
- Allow for selecting if 'overwrite' mode should be used in 'perf top' and
make the default for it not to be used. This is due to problems with the
current implementation where the pausing used ends up making 'perf top'
miss PERF_RECORD_{MMAP,FORK,EXEC,etc} events, which with short lifetime
threads workloads leads quickly to many "unknown" maps (and thus symbols)
to appear in the UI. Workloads with long thread lifetimes and with few
metadata events can still use --overwrite to take advantage of the
overwrite mode (Arnaldo Carvalho de Melo)
- Start 'perf top''s display thread earlier, so that the screen doesn't
remain blank for too long at tool start (David S. Miller)
- Don't clone maps from parent when synthesizing forks, to avoid the inevitable
flurry of overlapping maps as we process the synthesized MMAP2 events that get
delivered shortly thereafter. (David S. Miller)
- Take pgoff into account when reporting elf to libdwfl, now the unwinding
results are the same with elfutils's libdwfl and libunwind (Milian Wolff)
- Update lotsa kernel ABI headers (Arnaldo Carvalho de Melo)
- 'perf trace' syscall arg beautification improvements to allow for
handling args such as mount's 'flags', where maks have to be ignored
before considering what is left, that, if only zeroes, is suppressed
like other args without such masks (Arnaldo Carvalho de Melo)
- Beautify mount's 'source' and 'flags' args (Arnaldo Carvalho de Melo)
- Generate mmap's flags bit constants from linux/mman.h and all the
arch specific mman.h files, so that no changes in the main 'perf trace'
source files is required when new flags get added (Arnaldo Carvalho de Melo)
- Consider syscall aliases, so that 'perf trace -e umount' works and we don't
have to use 'umount2' (that works as well, just not required) (Arnaldo Carvalho de Melo)
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'tools/arch')
-rw-r--r-- | tools/arch/arm64/include/uapi/asm/unistd.h | 1 | ||||
-rw-r--r-- | tools/arch/powerpc/include/uapi/asm/kvm.h | 1 | ||||
-rw-r--r-- | tools/arch/s390/include/uapi/asm/kvm.h | 2 | ||||
-rw-r--r-- | tools/arch/x86/include/uapi/asm/kvm.h | 6 |
4 files changed, 6 insertions, 4 deletions
diff --git a/tools/arch/arm64/include/uapi/asm/unistd.h b/tools/arch/arm64/include/uapi/asm/unistd.h index 5072cbd15c82..dae1584cf017 100644 --- a/tools/arch/arm64/include/uapi/asm/unistd.h +++ b/tools/arch/arm64/include/uapi/asm/unistd.h @@ -16,5 +16,6 @@ */ #define __ARCH_WANT_RENAMEAT +#define __ARCH_WANT_NEW_STAT #include <asm-generic/unistd.h> diff --git a/tools/arch/powerpc/include/uapi/asm/kvm.h b/tools/arch/powerpc/include/uapi/asm/kvm.h index 1b32b56a03d3..8c876c166ef2 100644 --- a/tools/arch/powerpc/include/uapi/asm/kvm.h +++ b/tools/arch/powerpc/include/uapi/asm/kvm.h @@ -634,6 +634,7 @@ struct kvm_ppc_cpu_char { #define KVM_REG_PPC_DEC_EXPIRY (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xbe) #define KVM_REG_PPC_ONLINE (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0xbf) +#define KVM_REG_PPC_PTCR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xc0) /* Transactional Memory checkpointed state: * This is all GPRs, all VSX regs and a subset of SPRs diff --git a/tools/arch/s390/include/uapi/asm/kvm.h b/tools/arch/s390/include/uapi/asm/kvm.h index 9a50f02b9894..16511d97e8dc 100644 --- a/tools/arch/s390/include/uapi/asm/kvm.h +++ b/tools/arch/s390/include/uapi/asm/kvm.h @@ -160,6 +160,8 @@ struct kvm_s390_vm_cpu_subfunc { #define KVM_S390_VM_CRYPTO_ENABLE_DEA_KW 1 #define KVM_S390_VM_CRYPTO_DISABLE_AES_KW 2 #define KVM_S390_VM_CRYPTO_DISABLE_DEA_KW 3 +#define KVM_S390_VM_CRYPTO_ENABLE_APIE 4 +#define KVM_S390_VM_CRYPTO_DISABLE_APIE 5 /* kvm attributes for migration mode */ #define KVM_S390_VM_MIGRATION_STOP 0 diff --git a/tools/arch/x86/include/uapi/asm/kvm.h b/tools/arch/x86/include/uapi/asm/kvm.h index 8a6eff9c27f3..dabfcf7c3941 100644 --- a/tools/arch/x86/include/uapi/asm/kvm.h +++ b/tools/arch/x86/include/uapi/asm/kvm.h @@ -300,10 +300,7 @@ struct kvm_vcpu_events { __u8 injected; __u8 nr; __u8 has_error_code; - union { - __u8 pad; - __u8 pending; - }; + __u8 pending; __u32 error_code; } exception; struct { @@ -387,6 +384,7 @@ struct kvm_sync_regs { #define KVM_STATE_NESTED_GUEST_MODE 0x00000001 #define KVM_STATE_NESTED_RUN_PENDING 0x00000002 +#define KVM_STATE_NESTED_EVMCS 0x00000004 #define KVM_STATE_NESTED_SMM_GUEST_MODE 0x00000001 #define KVM_STATE_NESTED_SMM_VMXON 0x00000002 |