1. Oct 01, 2019
    • Andi Kleen's avatar
      perf script brstackinsn: Fix recovery from LBR/binary mismatch · e98df280
      Andi Kleen authored
      
      
      When the LBR data and the instructions in a binary do not match the loop
      printing instructions could get confused and print a long stream of
      bogus <bad> instructions.
      
      The problem was that if the instruction decoder cannot decode an
      instruction it ilen wasn't initialized, so the loop going through the
      basic block would continue with the previous value.
      
      Harden the code to avoid such problems:
      
      - Make sure ilen is always freshly initialized and is 0 for bad
        instructions.
      
      - Do not overrun the code buffer while printing instructions
      
      - Print a warning message if the final jump is not on an instruction
        boundary.
      
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Link: http://lore.kernel.org/lkml/20190927233546.11533-1-andi@firstfloor.org
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      e98df280
    • Steve MacLean's avatar
      perf docs: Correct and clarify jitdump spec · 2657983b
      Steve MacLean authored
      
      
      Specification claims latest version of jitdump file format is 2. Current
      jit dump reading code treats 1 as the latest version.
      
      Correct spec to match code.
      
      The original language made it unclear the value to be written in the
      magic field.
      
      Revise language that the writer always writes the same value. Specify
      that the reader uses the value to detect endian mismatches.
      
      Signed-off-by: default avatarSteve MacLean <Steve.MacLean@Microsoft.com>
      Acked-by: default avatarStephane Eranian <eranian@google.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Brian Robbins <brianrob@microsoft.com>
      Cc: Davidlohr Bueso <dave@stgolabs.net>
      Cc: Eric Saint-Etienne <eric.saint.etienne@oracle.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: John Keeping <john@metanate.com>
      Cc: John Salem <josalem@microsoft.com>
      Cc: Leo Yan <leo.yan@linaro.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Song Liu <songliubraving@fb.com>
      Cc: Tom McDonald <thomas.mcdonald@microsoft.com>
      Link: http://lore.kernel.org/lkml/BN8PR21MB1362F63CDE7AC69736FC7F9EF7800@BN8PR21MB1362.namprd21.prod.outlook.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      2657983b
    • Steve MacLean's avatar
      perf inject jit: Fix JIT_CODE_MOVE filename · b59711e9
      Steve MacLean authored
      During perf inject --jit, JIT_CODE_MOVE records were injecting MMAP records
      with an incorrect filename. Specifically it was missing the ".so" suffix.
      
      Further the JIT_CODE_LOAD record were silently truncating the
      jr->load.code_index field to 32 bits before generating the filename.
      
      Make both records emit the same filename based on the full 64 bit
      code_index field.
      
      Fixes: 9b07e27f
      
       ("perf inject: Add jitdump mmap injection support")
      Cc: stable@vger.kernel.org # v4.6+
      Signed-off-by: default avatarSteve MacLean <Steve.MacLean@Microsoft.com>
      Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Brian Robbins <brianrob@microsoft.com>
      Cc: Davidlohr Bueso <dave@stgolabs.net>
      Cc: Eric Saint-Etienne <eric.saint.etienne@oracle.com>
      Cc: John Keeping <john@metanate.com>
      Cc: John Salem <josalem@microsoft.com>
      Cc: Leo Yan <leo.yan@linaro.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Song Liu <songliubraving@fb.com>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom McDonald <thomas.mcdonald@microsoft.com>
      Link: http://lore.kernel.org/lkml/BN8PR21MB1362FF8F127B31DBF4121528F7800@BN8PR21MB1362.namprd21.prod.outlook.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      b59711e9
    • Steve MacLean's avatar
      perf map: Fix overlapped map handling · ee212d6e
      Steve MacLean authored
      
      
      Whenever an mmap/mmap2 event occurs, the map tree must be updated to add a new
      entry. If a new map overlaps a previous map, the overlapped section of the
      previous map is effectively unmapped, but the non-overlapping sections are
      still valid.
      
      maps__fixup_overlappings() is responsible for creating any new map entries from
      the previously overlapped map. It optionally creates a before and an after map.
      
      When creating the after map the existing code failed to adjust the map.pgoff.
      This meant the new after map would incorrectly calculate the file offset
      for the ip. This results in incorrect symbol name resolution for any ip in the
      after region.
      
      Make maps__fixup_overlappings() correctly populate map.pgoff.
      
      Add an assert that new mapping matches old mapping at the beginning of
      the after map.
      
      Committer-testing:
      
      Validated correct parsing of libcoreclr.so symbols from .NET Core 3.0 preview9
      (which didn't strip symbols).
      
      Preparation:
      
        ~/dotnet3.0-preview9/dotnet new webapi -o perfSymbol
        cd perfSymbol
        ~/dotnet3.0-preview9/dotnet publish
        perf record ~/dotnet3.0-preview9/dotnet \
            bin/Debug/netcoreapp3.0/publish/perfSymbol.dll
        ^C
      
      Before:
      
        perf script --show-mmap-events 2>&1 | grep -e MMAP -e unknown |\
           grep libcoreclr.so | head -n 4
              dotnet  1907 373352.698780: PERF_RECORD_MMAP2 1907/1907: \
                  [0x7fe615726000(0x768000) @ 0 08:02 5510620 765057155]: \
                  r-xp .../3.0.0-preview9-19423-09/libcoreclr.so
              dotnet  1907 373352.701091: PERF_RECORD_MMAP2 1907/1907: \
                  [0x7fe615974000(0x1000) @ 0x24e000 08:02 5510620 765057155]: \
                  rwxp .../3.0.0-preview9-19423-09/libcoreclr.so
              dotnet  1907 373352.701241: PERF_RECORD_MMAP2 1907/1907: \
                  [0x7fe615c42000(0x1000) @ 0x51c000 08:02 5510620 765057155]: \
                  rwxp .../3.0.0-preview9-19423-09/libcoreclr.so
              dotnet  1907 373352.705249:     250000 cpu-clock: \
                   7fe6159a1f99 [unknown] \
                   (.../3.0.0-preview9-19423-09/libcoreclr.so)
      
      After:
      
        perf script --show-mmap-events 2>&1 | grep -e MMAP -e unknown |\
           grep libcoreclr.so | head -n 4
              dotnet  1907 373352.698780: PERF_RECORD_MMAP2 1907/1907: \
                  [0x7fe615726000(0x768000) @ 0 08:02 5510620 765057155]: \
                  r-xp .../3.0.0-preview9-19423-09/libcoreclr.so
              dotnet  1907 373352.701091: PERF_RECORD_MMAP2 1907/1907: \
                  [0x7fe615974000(0x1000) @ 0x24e000 08:02 5510620 765057155]: \
                  rwxp .../3.0.0-preview9-19423-09/libcoreclr.so
              dotnet  1907 373352.701241: PERF_RECORD_MMAP2 1907/1907: \
                  [0x7fe615c42000(0x1000) @ 0x51c000 08:02 5510620 765057155]: \
                  rwxp .../3.0.0-preview9-19423-09/libcoreclr.so
      
      All the [unknown] symbols were resolved.
      
      Signed-off-by: default avatarSteve MacLean <Steve.MacLean@Microsoft.com>
      Tested-by: default avatarBrian Robbins <brianrob@microsoft.com>
      Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Davidlohr Bueso <dave@stgolabs.net>
      Cc: Eric Saint-Etienne <eric.saint.etienne@oracle.com>
      Cc: John Keeping <john@metanate.com>
      Cc: John Salem <josalem@microsoft.com>
      Cc: Leo Yan <leo.yan@linaro.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Song Liu <songliubraving@fb.com>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom McDonald <thomas.mcdonald@microsoft.com>
      Link: http://lore.kernel.org/lkml/BN8PR21MB136270949F22A6A02335C238F7800@BN8PR21MB1362.namprd21.prod.outlook.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      ee212d6e
    • Thomas Richter's avatar
      perf vendor events s390: Use s390 machine name instead of type 8561 · 0d0e5ece
      Thomas Richter authored
      
      
      In the pmu-events directory for JSON file definitions use the
      official machine name IBM z15 instead of machine type number
      8561. This is consistent with previous machines.
      
      Signed-off-by: default avatarThomas Richter <tmricht@linux.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Vasily Gorbik <gor@linux.ibm.com>
      Link: http://lore.kernel.org/lkml/20190927081147.18345-2-tmricht@linux.ibm.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      0d0e5ece
    • Thomas Richter's avatar
      perf vendor events s390: Add JSON transaction for machine type 8561 · 02d08479
      Thomas Richter authored
      Add s390 transaction counter definition for machine 8561. This is the
      same file as for the predecessor machine.
      
      Fixes: 6e67d77d
      
       ("perf vendor events s390: Add JSON files for machine type 8561")
      Signed-off-by: default avatarThomas Richter <tmricht@linux.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Vasily Gorbik <gor@linux.ibm.com>
      Link: http://lore.kernel.org/lkml/20190927081147.18345-1-tmricht@linux.ibm.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      02d08479
    • Ian Rogers's avatar
      perf llvm: Don't access out-of-scope array · 7d4c85b7
      Ian Rogers authored
      The 'test_dir' variable is assigned to the 'release' array which is
      out-of-scope 3 lines later.
      
      Extend the scope of the 'release' array so that an out-of-scope array
      isn't accessed.
      
      Bug detected by clang's address sanitizer.
      
      Fixes: 07bc5c69
      
       ("perf tools: Make fetch_kernel_version() publicly available")
      Cc: stable@vger.kernel.org # v4.4+
      Signed-off-by: default avatarIan Rogers <irogers@google.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lore.kernel.org/lkml/20190926220018.25402-1-irogers@google.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      7d4c85b7
    • Arnaldo Carvalho de Melo's avatar
      tools headers kvm: Sync kvm headers with the kernel sources · b7ad6108
      Arnaldo Carvalho de Melo authored
      To pick the changes in:
      
        200824f5 ("KVM: s390: Disallow invalid bits in kvm_valid_regs and kvm_dirty_regs")
        4a53d99d ("KVM: VMX: Introduce exit reason for receiving INIT signal on guest-mode")
        7396d337 ("KVM: x86: Return to userspace with internal error on unexpected exit reason")
        92f35b75 ("KVM: arm/arm64: vgic: Allow more than 256 vcpus for KVM_IRQ_LINE")
      
      None of them trigger any changes in tooling, this time this is just to silence
      these perf build warnings:
      
        Warning: Kernel ABI header at 'tools/include/uapi/linux/kvm.h' differs from latest version at 'include/uapi/linux/kvm.h'
        diff -u tools/include/uapi/linux/kvm.h include/uapi/linux/kvm.h
        Warning: Kernel ABI header at 'tools/arch/x86/include/uapi/asm/vmx.h' differs from latest version at 'arch/x86/include/uapi/asm/vmx.h'
        diff -u tools/arch/x86/include/uapi/asm/vmx.h arch/x86/include/uapi/asm/vmx.h
        Warning: Kernel ABI header at 'tools/arch/s390/include/uapi/asm/kvm.h' differs from latest version at 'arch/s390/include/uapi/asm/kvm.h'
        diff -u tools/arch/s390/include/uapi/asm/kvm.h arch/s390/include/uapi/asm/kvm.h
        Warning: Kernel ABI header at 'tools/arch/arm/include/uapi/asm/kvm.h' differs from latest version at 'arch/arm/include/uapi/asm/kvm.h'
        diff -u tools/arch/arm/include/uapi/asm/kvm.h arch/arm/include/uapi/asm/kvm.h
        Warning: Kernel ABI header at 'tools/arch/arm64/include/uapi/asm/kvm.h' differs from latest version at 'arch/arm64/include/uapi/asm/kvm.h'
        diff -u tools/arch/arm64/include/uapi/asm/kvm.h arch/arm64/include/uapi/asm/kvm.h
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Janosch Frank <frankja@linux.ibm.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Liran Alon <liran.alon@oracle.com>
      Cc: Marc Zyngier <maz@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: Thomas Huth <thuth@redhat.com>
      Link: https://lkml.kernel.org/n/tip-akuugvvjxte26kzv23zp5d2z@git.kernel.org
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      b7ad6108
    • Arnaldo Carvalho de Melo's avatar
      tools headers uapi: Sync linux/fs.h with the kernel sources · 0ae40612
      Arnaldo Carvalho de Melo authored
      To pick the changes from:
      
        78a1b96b ("fscrypt: add FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS ioctl")
        23c688b5 ("fscrypt: allow unprivileged users to add/remove keys for v2 policies")
        5dae460c ("fscrypt: v2 encryption policy support")
        5a7e2992 ("fscrypt: add FS_IOC_GET_ENCRYPTION_KEY_STATUS ioctl")
        b1c0ec35 ("fscrypt: add FS_IOC_REMOVE_ENCRYPTION_KEY ioctl")
        22d94f49 ("fscrypt: add FS_IOC_ADD_ENCRYPTION_KEY ioctl")
        3b6df59b ("fscrypt: use FSCRYPT_* definitions, not FS_*")
        2336d0de ("fscrypt: use FSCRYPT_ prefix for uapi constants")
        7af0ab0d ("fs, fscrypt: move uapi definitions to new header <linux/fscrypt.h>")
      
      That don't trigger any changes in tooling, as it so far is used only
      for:
      
        $ grep -l 'fs\.h' tools/perf/trace/beauty/*.sh | xargs grep regex=
        tools/perf/trace/beauty/rename_flags.sh:regex='^[[:space:]]*#[[:space:]]*define[[:space:]]+RENAME_([[:alnum:]_]+)[[:space:]]+\(1[[:space:]]*<<[[:space:]]*([[:xdigit:]]+)[[:space:]]*\)[[:space:]]*.*'
        tools/perf/trace/beauty/sync_file_range.sh:regex='^[[:space:]]*#[[:space:]]*define[[:space:]]+SYNC_FILE_RANGE_([[:alnum:]_]+)[[:space:]]+([[:xdigit:]]+)[[:space:]]*.*'
        tools/perf/trace/beauty/usbdevfs_ioctl.sh:regex="^#[[:space:]]*define[[:space:]]+USBDEVFS_(\w+)(\(\w+\))?[[:space:]]+_IO[CWR]{0,2}\([[:space:]]*(_IOC_\w+,[[:space:]]*)?'U'[[:space:]]*,[[:space:]]*([[:digit:]]+).*"
        tools/perf/trace/beauty/usbdevfs_ioctl.sh:regex="^#[[:space:]]*define[[:space:]]+USBDEVFS_(\w+)[[:space:]]+_IO[WR]{0,2}\([[:space:]]*'U'[[:space:]]*,[[:space:]]*([[:digit:]]+).*"
        $
      
      This silences this perf build warning:
      
        Warning: Kernel ABI header at 'tools/include/uapi/linux/fs.h' differs from latest version at 'include/uapi/linux/fs.h'
        diff -u tools/include/uapi/linux/fs.h include/uapi/linux/fs.h
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Eric Biggers <ebiggers@google.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: https://lkml.kernel.org/n/tip-44g48exl9br9ba0t64chqb4i@git.kernel.org
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      0ae40612
    • Arnaldo Carvalho de Melo's avatar
      tools headers uapi: Sync linux/usbdevice_fs.h with the kernel sources · 05f371f8
      Arnaldo Carvalho de Melo authored
      To pick up the changes from:
      
        4ed33505 ("USB: usbfs: Add a capability flag for runtime suspend")
        7794f486 ("usbfs: Add ioctls for runtime power management")
      
      This triggers these changes in the kernel sources, automagically
      supporting these new ioctls in the 'perf trace' beautifiers.
      
      Soon this will be used in things like filter expressions for tracepoints
      in 'perf record', 'perf trace', 'perf top', i.e. filter expressions will
      do a lookup to turn things like USBDEVFS_WAIT_FOR_RESUME into _IO('U',
      35) before associating the tracepoint expression to tracepoint perf
      event.
      
        $ tools/perf/trace/beauty/usbdevfs_ioctl.sh  > before
        $ cp include/uapi/linux/usbdevice_fs.h tools/include/uapi/linux/usbdevice_fs.h
        $ git diff
        diff --git a/tools/include/uapi/linux/usbdevice_fs.h b/tools/include/uapi/linux/usbdevice_fs.h
        index 78efe870c2b7..cf525cddeb94 100644
        --- a/tools/include/uapi/linux/usbdevice_fs.h
        +++ b/tools/include/uapi/linux/usbdevice_fs.h
        @@ -158,6 +158,7 @@ struct usbdevfs_hub_portinfo {
         #define USBDEVFS_CAP_MMAP                      0x20
         #define USBDEVFS_CAP_DROP_PRIVILEGES           0x40
         #define USBDEVFS_CAP_CONNINFO_EX               0x80
        +#define USBDEVFS_CAP_SUSPEND                   0x100
      
         /* USBDEVFS_DISCONNECT_CLAIM flags & struct */
      
        @@ -223,5 +224,8 @@ struct usbdevfs_streams {
          * extending size of the data returned.
          */
         #define USBDEVFS_CONNINFO_EX(len)  _IOC(_IOC_READ, 'U', 32, len)
        +#define USBDEVFS_FORBID_SUSPEND    _IO('U', 33)
        +#define USBDEVFS_ALLOW_SUSPEND     _IO('U', 34)
        +#define USBDEVFS_WAIT_FOR_RESUME   _IO('U', 35)
      
         #endif /* _UAPI_LINUX_USBDEVICE_FS_H */
        $ tools/perf/trace/beauty/usbdevfs_ioctl.sh  > after
        $ diff -u before after
        --- before	2019-09-27 11:41:50.634867620 -0300
        +++ after	2019-09-27 11:42:07.453102978 -0300
        @@ -24,6 +24,9 @@
         	[30] = "DROP_PRIVILEGES",
         	[31] = "GET_SPEED",
         	[32] = "CONNINFO_EX",
        +	[33] = "FORBID_SUSPEND",
        +	[34] = "ALLOW_SUSPEND",
        +	[35] = "WAIT_FOR_RESUME",
         	[3] = "RESETEP",
         	[4] = "SETINTERFACE",
         	[5] = "SETCONFIGURATION",
        $
      
      This addresses the following perf build warning:
      
        Warning: Kernel ABI header at 'tools/include/uapi/linux/usbdevice_fs.h' differs from latest version at 'include/uapi/linux/usbdevice_fs.h'
        diff -u tools/include/uapi/linux/usbdevice_fs.h include/uapi/linux/usbdevice_fs.h
      
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Luis Cláudio Gonçalves <lclaudio@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: https://lkml.kernel.org/n/tip-x1rb109b9nfi7pukota82xhj@git.kernel.org
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      05f371f8
    • Arnaldo Carvalho de Melo's avatar
      tools headers uapi: Sync asm-generic/mman-common.h with the kernel · b1ba55cf
      Arnaldo Carvalho de Melo authored
      To pick the changes from:
      
        1a4e58cc ("mm: introduce MADV_PAGEOUT")
        9c276cc6 ("mm: introduce MADV_COLD")
      
      That result in these changes in the tools:
      
        $ tools/perf/trace/beauty/madvise_behavior.sh > before
        $ cp include/uapi/asm-generic/mman-common.h tools/include/uapi/asm-generic/mman-common.h
        $ git diff
        diff --git a/tools/include/uapi/asm-generic/mman-common.h b/tools/include/uapi/asm-generic/mman-common.h
        index 63b1f506ea67..c160a5354eb6 100644
        --- a/tools/include/uapi/asm-generic/mman-common.h
        +++ b/tools/include/uapi/asm-generic/mman-common.h
        @@ -67,6 +67,9 @@
         #define MADV_WIPEONFORK 18             /* Zero memory on fork, child only */
         #define MADV_KEEPONFORK 19             /* Undo MADV_WIPEONFORK */
      
        +#define MADV_COLD      20              /* deactivate these pages */
        +#define MADV_PAGEOUT   21              /* reclaim these pages */
        +
         /* compatibility flags */
         #define MAP_FILE       0
      
        $ tools/perf/trace/beauty/madvise_behavior.sh > after
        $ diff -u before after
        --- before	2019-09-27 11:29:43.346320100 -0300
        +++ after	2019-09-27 11:30:03.838570439 -0300
        @@ -16,6 +16,8 @@
         	[17] = "DODUMP",
         	[18] = "WIPEONFORK",
         	[19] = "KEEPONFORK",
        +	[20] = "COLD",
        +	[21] = "PAGEOUT",
         	[100] = "HWPOISON",
         	[101] = "SOFT_OFFLINE",
         };
        $
      
      I.e. now when madvise gets those behaviours as args, it will be able to
      translate from the number to a human readable string.
      
      This addresses the following perf build warning:
      
        Warning: Kernel ABI header at 'tools/include/uapi/asm-generic/mman-common.h' differs from latest version at 'include/uapi/asm-generic/mman-common.h'
        diff -u tools/include/uapi/asm-generic/mman-common.h include/uapi/asm-generic/mman-common.h
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Luis Cláudio Gonçalves <lclaudio@redhat.com>
      Cc: Minchan Kim <minchan@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: https://lkml.kernel.org/n/tip-n40y6c4sa49p29q6sl8w3ufx@git.kernel.org
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      b1ba55cf
  2. Sep 27, 2019
  3. Sep 26, 2019
    • David Howells's avatar
      jffs2: Fix mounting under new mount API · a3bc18a4
      David Howells authored
      The mounting of jffs2 is broken due to the changes from the new mount API
      because it specifies a "source" operation, but then doesn't actually
      process it.  But because it specified it, it doesn't return -ENOPARAM and
      the caller doesn't process it either and the source gets lost.
      
      Fix this by simply removing the source parameter from jffs2 and letting the
      VFS deal with it in the default manner.
      
      To test it, enable CONFIG_MTD_MTDRAM and allow the default size and erase
      block size parameters, then try and mount the /dev/mtdblock<N> file that
      that creates as jffs2.  No need to initialise it.
      
      Fixes: ec10a24f
      
       ("vfs: Convert jffs2 to use the new mount API")
      Reported-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      cc: David Woodhouse <dwmw2@infradead.org>
      cc: Richard Weinberger <richard@nod.at>
      cc: linux-mtd@lists.infradead.org
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      a3bc18a4
    • Ingo Molnar's avatar
      Merge tag 'perf-core-for-mingo-5.5-20190925' of... · b11f7244
      Ingo Molnar authored
      Merge tag 'perf-core-for-mingo-5.5-20190925' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
       into perf/urgent
      
      Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:
      
      perf record:
      
        Stephane Eranian:
      
        - Fix priv level with branch sampling for paranoid=2, i.e. the kernel checks
          if perf_event_attr_attr.exclude_hv is set in addition to .exclude_kernel,
          so reset both to zero.
      
        Arnaldo Carvalho de Melo:
      
        - Don't warn about not being able to read kernel maps (kallsyms, etc) when
          kernel samples aren't being collected.
      
      perf list:
      
        Kim Phillips:
      
        - Allow plurals for metric, metricgroup., i.e.:
      
          $ perf list metrics
      
          was showing nothing, which is very confusing, make it work like:
      
          $ perf stat metric
      
      perf stat:
      
        Andi Kleen:
      
        - Free memory access/leaks detected via valgrind, related to metrics.
      
      Libraries:
      
      libperf:
      
        Jiri Olsa:
      
        - Move more stuff from tools/perf, this time a first stab at moving perf_mmap
          methods.
      
      libtracevent:
      
        Steven Rostedt (VMware):
      
        - Round up in tep_print_event() time precision.
      
        Tzvetomir Stoyanov (VMware):
      
        - Man pages for event print and related and plugins APIs.
      
        - Move traceevent plugins in its own subdirectory.
      
      Feature detection:
      
        Thomas Richter:
      
        - Add detection of java-11-openjdk-devel package, in addition to the older
          versions supported.
      
      Architecture specific:
      
      S/390:
      
        Thomas Richter (2):
      
        - Include JVMTI support for s390
      
      Vendor events:
      
      AMD:
      
        Kim Phillips:
      
        - Add L3 cache events for Family 17h.
      
        - Remove redundant '['.
      
      PowerPC:
      
        Mamatha Inamdar:
      
        - Remove P8 HW events which are not supported.
      
      Cleanups:
      
        Arnaldo Carvalho de Melo:
      
        - Remove needless headers, add needed ones, move things around to reduce the
          headers dependency tree, speeding up builds by not doing needless compiles
          when unrelated stuff gets changed.
      
        - Ditch unused code that was dragging headers.
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      b11f7244
    • Denis Efremov's avatar
      checkpatch: check for nested (un)?likely() calls · de3f186f
      Denis Efremov authored
      IS_ERR(), IS_ERR_OR_NULL(), IS_ERR_VALUE() and WARN*() already contain
      unlikely() optimization internally.  Thus, there is no point in calling
      these functions and defines under likely()/unlikely().
      
      This check is based on the coccinelle rule developed by Enrico Weigelt
      https://lore.kernel.org/lkml/1559767582-11081-1-git-send-email-info@metux.net/
      
      Link: http://lkml.kernel.org/r/20190829165025.15750-1-efremov@linux.com
      
      
      Signed-off-by: default avatarDenis Efremov <efremov@linux.com>
      Cc: Joe Perches <joe@perches.com>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Anton Altaparmakov <anton@tuxera.com>
      Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
      Cc: Boris Pismenny <borisp@mellanox.com>
      Cc: Darrick J. Wong <darrick.wong@oracle.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Denis Efremov <efremov@linux.com>
      Cc: Dennis Dalessandro <dennis.dalessandro@intel.com>
      Cc: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
      Cc: Juergen Gross <jgross@suse.com>
      Cc: Leon Romanovsky <leon@kernel.org>
      Cc: Mike Marciniszyn <mike.marciniszyn@intel.com>
      Cc: Rob Clark <robdclark@gmail.com>
      Cc: Saeed Mahameed <saeedm@mellanox.com>
      Cc: Sean Paul <sean@poorly.run>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      de3f186f
    • Mike Rapoport's avatar
      hexagon: drop empty and unused free_initrd_mem · c7cc8d77
      Mike Rapoport authored
      hexagon never reserves or initializes initrd and the only mention of it is
      the empty free_initrd_mem() function.
      
      As we have a generic implementation of free_initrd_mem(), there is no need
      to define an empty stub for the hexagon implementation and it can be
      dropped.
      
      Link: http://lkml.kernel.org/r/1565858133-25852-1-git-send-email-rppt@linux.ibm.com
      
      
      Signed-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Cc: Richard Kuo <rkuo@codeaurora.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c7cc8d77