1. 18 Nov, 2021 11 commits
    • German Gomez's avatar
      perf inject: Fix ARM SPE handling · 9e1a8d9f
      German Gomez authored
      'perf inject' is currently not working for Arm SPE. When you try to run
      'perf inject' and 'perf report' with a perf.data file that contains SPE
      traces, the tool reports a "Bad address" error:
      
        # ./perf record -e arm_spe_0/ts_enable=1,store_filter=1,branch_filter=1,load_filter=1/ -a -- sleep 1
        # ./perf inject -i perf.data -o perf.inject.data --itrace
        # ./perf report -i perf.inject.data --stdio
      
        0x42c00 [0x8]: failed to process type: 9 [Bad address]
        Error:
        failed to process sample
      
      As far as I know, the issue was first spotted in [1], but 'perf inject'
      was not yet injecting the samples. This patch does something similar to
      what cs_etm does for injecting the samples [2], but for SPE.
      
      [1] https://patchwork.kernel.org/project/linux-arm-kernel/cover/20210412091006.468557-1-leo.yan@linaro.org/#24117339
      [2] https://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git/tree/tools/perf/util/cs-etm.c?h=perf/core&id=133fe2e617e48ca0948983329f43877064ffda3e#n1196Reviewed-by: default avatarJames Clark <james.clark@arm.com>
      Signed-off-by: default avatarGerman Gomez <german.gomez@arm.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: John Garry <john.garry@huawei.com>
      Cc: Leo Yan <leo.yan@linaro.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Will Deacon <will@kernel.org>
      Cc: linux-arm-kernel@lists.infradead.org
      Link: https://lore.kernel.org/r/20211105104130.28186-2-german.gomez@arm.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      9e1a8d9f
    • Sohaib Mohamed's avatar
      perf bench: Fix two memory leaks detected with ASan · 92723ea0
      Sohaib Mohamed authored
      ASan reports memory leaks while running:
      
        $ perf bench sched all
      
      Fixes: e27454cc ("perf bench: Add sched-messaging.c: Benchmark for scheduler and IPC mechanisms based on hackbench")
      Signed-off-by: default avatarSohaib Mohamed <sohaib.amhmd@gmail.com>
      Acked-by: default avatarIan Rogers <irogers@google.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Hitoshi Mitake <h.mitake@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Russel <rusty@rustcorp.com.au>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Pierre Gondois <pierre.gondois@arm.com>
      Link: http://lore.kernel.org/lkml/20211110022012.16620-1-sohaib.amhmd@gmail.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      92723ea0
    • Thomas Richter's avatar
      perf test sample-parsing: Fix branch_stack entry endianness check · cb5a63fe
      Thomas Richter authored
      Commit 10269a2c ("perf test sample-parsing: Add endian test for
      struct branch_flags") broke the test case 27 (Sample parsing) on s390 on
      linux-next tree:
      
        # perf test -Fv 27
        27: Sample parsing
        --- start ---
        parsing failed for sample_type 0x800
        ---- end ----
        Sample parsing: FAILED!
        #
      
      The cause of the failure is a wrong #define BS_EXPECTED_BE statement in
      above commit.  Correct this define and the test case runs fine.
      
      Output After:
      
        # perf test -Fv 27
        27: Sample parsing                                                  :
        --- start ---
        ---- end ----
        Sample parsing: Ok
        #
      
      Fixes: 10269a2c ("perf test sample-parsing: Add endian test for struct branch_flags")
      Signed-off-by: default avatarThomas Richter <tmricht@linux.ibm.com>
      Tested-by: default avatarMadhavan Srinivasan <maddy@linux.ibm.com>
      Acked-by: default avatarMadhavan Srinivasan <maddy@linux.ibm.com>
      CC: Sven Schnelle <svens@linux.ibm.com>
      Cc: Heiko Carstens <hca@linux.ibm.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Sumanth Korikkar <sumanthk@linux.ibm.com>
      Cc: Vasily Gorbik <gor@linux.ibm.com>
      Link: https://lore.kernel.org/r/54077e81-503e-3405-6cb0-6541eb5532cc@linux.ibm.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      cb5a63fe
    • Arnaldo Carvalho de Melo's avatar
      tools headers UAPI: Sync x86's asm/kvm.h with the kernel sources · 162b9445
      Arnaldo Carvalho de Melo authored
      To pick the changes in:
      
        828ca896 ("KVM: x86: Expose TSC offset controls to userspace")
      
      That just rebuilds kvm-stat.c on x86, no change in functionality.
      
      This silences these perf build warning:
      
        Warning: Kernel ABI header at 'tools/arch/x86/include/uapi/asm/kvm.h' differs from latest version at 'arch/x86/include/uapi/asm/kvm.h'
        diff -u tools/arch/x86/include/uapi/asm/kvm.h arch/x86/include/uapi/asm/kvm.h
      
      Cc: Oliver Upton <oupton@google.com>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      162b9445
    • Namhyung Kim's avatar
      perf sort: Fix the 'p_stage_cyc' sort key behavior · db4b2840
      Namhyung Kim authored
      andle 'p_stage_cyc' (for pipeline stage cycles) sort key with the same
      rationale as for the 'weight' and 'local_weight', see the fix in this
      series for a full explanation.
      
      Not sure it also needs the local and global variants.
      
      But I couldn't test it actually because I don't have the machine.
      Reviewed-by: default avatarAthira Jajeev <atrajeev@linux.vnet.ibm.com>
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Tested-by: default avatarAthira Jajeev <atrajeev@linux.vnet.ibm.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Athira Jajeev <atrajeev@linux.vnet.ibm.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Kan Liang <kan.liang@linux.intel.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: https://lore.kernel.org/r/20211105225617.151364-3-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      db4b2840
    • Namhyung Kim's avatar
      perf sort: Fix the 'ins_lat' sort key behavior · 4d03c753
      Namhyung Kim authored
      Handle 'ins_lat' (for instruction latency) and 'local_ins_lat' sort keys
      with the same rationale as for the 'weight' and 'local_weight', see the
      previous fix in this series for a full explanation.
      
      But I couldn't test it actually, so only build tested.
      Reviewed-by: default avatarAthira Jajeev <atrajeev@linux.vnet.ibm.com>
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Tested-by: default avatarAthira Jajeev <atrajeev@linux.vnet.ibm.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Athira Jajeev <atrajeev@linux.vnet.ibm.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Kan Liang <kan.liang@linux.intel.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: https://lore.kernel.org/r/20211105225617.151364-2-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      4d03c753
    • Namhyung Kim's avatar
      perf sort: Fix the 'weight' sort key behavior · 784e8add
      Namhyung Kim authored
      Currently, the 'weight' field in the perf sample has latency information
      for some instructions like in memory accesses.  And perf tool has 'weight'
      and 'local_weight' sort keys to display the info.
      
      But it's somewhat confusing what it shows exactly.  In my understanding,
      'local_weight' shows a weight in a single sample, and (global) 'weight'
      shows a sum of the weights in the hist_entry.
      
      For example:
      
        $ perf mem record -t load dd if=/dev/zero of=/dev/null bs=4k count=1M
      
        $ perf report --stdio -n -s +local_weight
        ...
        #
        # Overhead  Samples  Command  Shared Object     Symbol                     Local Weight
        # ........  .......  .......  ................  .........................  ............
        #
            21.23%      313  dd       [kernel.vmlinux]  [k] lockref_get_not_zero   32
            12.43%      183  dd       [kernel.vmlinux]  [k] lockref_get_not_zero   35
            11.97%      159  dd       [kernel.vmlinux]  [k] lockref_get_not_zero   36
            10.40%      141  dd       [kernel.vmlinux]  [k] lockref_put_return     32
             7.63%      113  dd       [kernel.vmlinux]  [k] lockref_get_not_zero   33
             6.37%       92  dd       [kernel.vmlinux]  [k] lockref_get_not_zero   34
             6.15%       90  dd       [kernel.vmlinux]  [k] lockref_put_return     33
        ...
      
      So let's look at the 'lockref_get_not_zero' symbols.  The top entry
      shows that 313 samples were captured with 'local_weight' 32, so the
      total weight should be 313 x 32 = 10016.  But it's not the case:
      
        $ perf report --stdio -n -s +local_weight,weight -S lockref_get_not_zero
        ...
        #
        # Overhead  Samples  Command  Shared Object     Local Weight  Weight
        # ........  .......  .......  ................  ............  ......
        #
             1.36%        4  dd       [kernel.vmlinux]  36            144
             0.47%        4  dd       [kernel.vmlinux]  37            148
             0.42%        4  dd       [kernel.vmlinux]  32            128
             0.40%        4  dd       [kernel.vmlinux]  34            136
             0.35%        4  dd       [kernel.vmlinux]  36            144
             0.34%        4  dd       [kernel.vmlinux]  35            140
             0.30%        4  dd       [kernel.vmlinux]  36            144
             0.30%        4  dd       [kernel.vmlinux]  34            136
             0.30%        4  dd       [kernel.vmlinux]  32            128
             0.30%        4  dd       [kernel.vmlinux]  32            128
        ...
      
      With the 'weight' sort key, it's divided to 4 samples even with the same
      info ('comm', 'dso', 'sym' and 'local_weight').  I don't think this is
      what we want.
      
      I found this because of the way it aggregates the 'weight' value.  Since
      it's not a period, we should not add them in the he->stat.  Otherwise,
      two 32 'weight' entries will create a 64 'weight' entry.
      
      After that, new 32 'weight' samples don't have a matching entry so it'd
      create a new entry and make it a 64 'weight' entry again and again.
      Later, they will be merged into 128 'weight' entries during the
      hists__collapse_resort() with 4 samples, multiple times like above.
      
      Let's keep the weight and display it differently.  For 'local_weight',
      it can show the weight as is, and for (global) 'weight' it can display
      the number multiplied by the number of samples.
      
      With this change, I can see the expected numbers.
      
        $ perf report --stdio -n -s +local_weight,weight -S lockref_get_not_zero
        ...
        #
        # Overhead  Samples  Command  Shared Object     Local Weight  Weight
        # ........  .......  .......  ................  ............  .....
        #
            21.23%      313  dd       [kernel.vmlinux]  32            10016
            12.43%      183  dd       [kernel.vmlinux]  35            6405
            11.97%      159  dd       [kernel.vmlinux]  36            5724
             7.63%      113  dd       [kernel.vmlinux]  33            3729
             6.37%       92  dd       [kernel.vmlinux]  34            3128
             4.17%       59  dd       [kernel.vmlinux]  37            2183
             0.08%        1  dd       [kernel.vmlinux]  269           269
             0.08%        1  dd       [kernel.vmlinux]  38            38
      Reviewed-by: default avatarAthira Jajeev <atrajeev@linux.vnet.ibm.com>
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Tested-by: default avatarAthira Jajeev <atrajeev@linux.vnet.ibm.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Kan Liang <kan.liang@linux.intel.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: https://lore.kernel.org/r/20211105225617.151364-1-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      784e8add
    • Arnaldo Carvalho de Melo's avatar
      perf tools: Set COMPAT_NEED_REALLOCARRAY for CONFIG_AUXTRACE=1 · 70f9c9b2
      Arnaldo Carvalho de Melo authored
      As it is being used in tools/perf/arch/arm64/util/arm-spe.c and the
      COMPAT_NEED_REALLOCARRAY was only being set when CORESIGHT=1 is set.
      
      Fixes: 56c31cdf ("perf arm-spe: Implement find_snapshot callback")
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: German Gomez <german.gomez@arm.com>
      Cc: James Clark <james.clark@arm.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: John Garry <john.garry@huawei.com>
      Cc: Leo Yan <leo.yan@linaro.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Will Deacon <will@kernel.org>
      Link: https://lore.kernel.org/all/YZT63mIc7iY01er3@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      70f9c9b2
    • Arnaldo Carvalho de Melo's avatar
      perf tests wp: Remove unused functions on s390 · ccb05590
      Arnaldo Carvalho de Melo authored
      Fixing these build problems:
      
        tests/wp.c:24:12: error: 'wp_read' defined but not used [-Werror=unused-function]
         static int wp_read(int fd, long long *count, int size)
                    ^
        tests/wp.c:35:13: error: 'get__perf_event_attr' defined but not used [-Werror=unused-function]
         static void get__perf_event_attr(struct perf_event_attr *attr, int wp_type,
                     ^
          CC      /tmp/build/perf/util/print_binary.o
      
      Fixes: e47c6eca ("perf test: Convert watch point tests to test cases.")
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Brendan Higgins <brendanhiggins@google.com>
      Cc: Daniel Latypov <dlatypov@google.com>
      Cc: David Gow <davidgow@google.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jin Yao <yao.jin@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: John Garry <john.garry@huawei.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Clarke <pc@us.ibm.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Sohaib Mohamed <sohaib.amhmd@gmail.com>
      Cc: Stephane Eranian <eranian@google.com>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      ccb05590
    • Arnaldo Carvalho de Melo's avatar
      tools headers UAPI: Sync linux/kvm.h with the kernel sources · 346e9199
      Arnaldo Carvalho de Melo authored
      To pick the changes in:
      
        b5663931 ("KVM: SEV: Add support for SEV intra host migration")
        e615e355 ("KVM: x86: On emulation failure, convey the exit reason, etc. to userspace")
        a9d496d8 ("KVM: x86: Clarify the kvm_run.emulation_failure structure layout")
        c68dc1b5 ("KVM: x86: Report host tsc and realtime values in KVM_GET_CLOCK")
        dea8ee31 ("RISC-V: KVM: Add SBI v0.1 support")
      
      That just rebuilds perf, as these patches don't add any new KVM ioctl to
      be harvested for the the 'perf trace' ioctl syscall argument
      beautifiers.
      
      This is also by now used by tools/testing/selftests/kvm/, a simple test
      build succeeded.
      
      This silences this perf build warning:
      
        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
      
      Cc: Anup Patel <anup@brainfault.org>
      Cc: Atish Patra <atish.patra@wdc.com>
      Cc: David Edmondson <david.edmondson@oracle.com>
      Cc: Oliver Upton <oupton@google.com>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: Peter Gonda <pgonda@google.com>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      346e9199
    • Arnaldo Carvalho de Melo's avatar
      tools headers cpufeatures: Sync with the kernel sources · b075c1d8
      Arnaldo Carvalho de Melo authored
      To pick the changes from:
      
        eec2113e ("x86/fpu/amx: Define AMX state components and have it used for boot-time checks")
      
      This only causes these perf files to be rebuilt:
      
        CC       /tmp/build/perf/bench/mem-memcpy-x86-64-asm.o
        CC       /tmp/build/perf/bench/mem-memset-x86-64-asm.o
      
      And addresses this perf build warning:
      
        Warning: Kernel ABI header at 'tools/arch/x86/include/asm/cpufeatures.h' differs from latest version at 'arch/x86/include/asm/cpufeatures.h'
        diff -u tools/arch/x86/include/asm/cpufeatures.h arch/x86/include/asm/cpufeatures.h
      
      Cc: Borislav Petkov <bp@suse.de>
      Cc: Chang S. Bae <chang.seok.bae@intel.com>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      b075c1d8
  2. 17 Nov, 2021 4 commits
  3. 16 Nov, 2021 4 commits
  4. 15 Nov, 2021 7 commits
  5. 14 Nov, 2021 14 commits
    • Linus Torvalds's avatar
      Linux 5.16-rc1 · fa55b7dc
      Linus Torvalds authored
      fa55b7dc
    • Gustavo A. R. Silva's avatar
      kconfig: Add support for -Wimplicit-fallthrough · dee2b702
      Gustavo A. R. Silva authored
      Add Kconfig support for -Wimplicit-fallthrough for both GCC and Clang.
      
      The compiler option is under configuration CC_IMPLICIT_FALLTHROUGH,
      which is enabled by default.
      
      Special thanks to Nathan Chancellor who fixed the Clang bug[1][2]. This
      bugfix only appears in Clang 14.0.0, so older versions still contain
      the bug and -Wimplicit-fallthrough won't be enabled for them, for now.
      
      This concludes a long journey and now we are finally getting rid
      of the unintentional fallthrough bug-class in the kernel, entirely. :)
      
      Link: https://github.com/llvm/llvm-project/commit/9ed4a94d6451046a51ef393cd62f00710820a7e8 [1]
      Link: https://bugs.llvm.org/show_bug.cgi?id=51094 [2]
      Link: https://github.com/KSPP/linux/issues/115
      Link: https://github.com/ClangBuiltLinux/linux/issues/236Co-developed-by: default avatarKees Cook <keescook@chromium.org>
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Co-developed-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarGustavo A. R. Silva <gustavoars@kernel.org>
      Reviewed-by: default avatarNathan Chancellor <nathan@kernel.org>
      Tested-by: default avatarNathan Chancellor <nathan@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      dee2b702
    • Linus Torvalds's avatar
      Merge tag 'xfs-5.16-merge-5' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · ce49bfc8
      Linus Torvalds authored
      Pull xfs cleanups from Darrick Wong:
       "The most 'exciting' aspect of this branch is that the xfsprogs
        maintainer and I have worked through the last of the code
        discrepancies between kernel and userspace libxfs such that there are
        no code differences between the two except for #includes.
      
        IOWs, diff suffices to demonstrate that the userspace tools behave the
        same as the kernel, and kernel-only bits are clearly marked in the
        /kernel/ source code instead of just the userspace source.
      
        Summary:
      
         - Clean up open-coded swap() calls.
      
         - A little bit of #ifdef golf to complete the reunification of the
           kernel and userspace libxfs source code"
      
      * tag 'xfs-5.16-merge-5' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: sync xfs_btree_split macros with userspace libxfs
        xfs: #ifdef out perag code for userspace
        xfs: use swap() to make dabtree code cleaner
      ce49bfc8
    • Linus Torvalds's avatar
      Merge tag 'for-5.16/parisc-3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · c3b68c27
      Linus Torvalds authored
      Pull more parisc fixes from Helge Deller:
       "Fix a build error in stracktrace.c, fix resolving of addresses to
        function names in backtraces, fix single-stepping in assembly code and
        flush userspace pte's when using set_pte_at()"
      
      * tag 'for-5.16/parisc-3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc/entry: fix trace test in syscall exit path
        parisc: Flush kernel data mapping in set_pte_at() when installing pte for user page
        parisc: Fix implicit declaration of function '__kernel_text_address'
        parisc: Fix backtrace to always include init funtion names
      c3b68c27
    • Linus Torvalds's avatar
      Merge tag 'sh-for-5.16' of git://git.libc.org/linux-sh · 24318ae8
      Linus Torvalds authored
      Pull arch/sh updates from Rich Felker.
      
      * tag 'sh-for-5.16' of git://git.libc.org/linux-sh:
        sh: pgtable-3level: Fix cast to pointer from integer of different size
        sh: fix READ/WRITE redefinition warnings
        sh: define __BIG_ENDIAN for math-emu
        sh: math-emu: drop unused functions
        sh: fix kconfig unmet dependency warning for FRAME_POINTER
        sh: Cleanup about SPARSE_IRQ
        sh: kdump: add some attribute to function
        maple: fix wrong return value of maple_bus_init().
        sh: boot: avoid unneeded rebuilds under arch/sh/boot/compressed/
        sh: boot: add intermediate vmlinux.bin* to targets instead of extra-y
        sh: boards: Fix the cacography in irq.c
        sh: check return code of request_irq
        sh: fix trivial misannotations
      24318ae8
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm · 6ea45c57
      Linus Torvalds authored
      Pull ARM fixes from Russell King:
      
       - Fix early_iounmap
      
       - Drop cc-option fallbacks for architecture selection
      
      * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm:
        ARM: 9156/1: drop cc-option fallbacks for architecture selection
        ARM: 9155/1: fix early early_iounmap()
      6ea45c57
    • Linus Torvalds's avatar
      Merge tag 'devicetree-fixes-for-5.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 0d1503d8
      Linus Torvalds authored
      Pull devicetree fixes from Rob Herring:
      
       - Two fixes due to DT node name changes on Arm, Ltd. boards
      
       - Treewide rename of Ingenic CGU headers
      
       - Update ST email addresses
      
       - Remove Netlogic DT bindings
      
       - Dropping few more cases of redundant 'maxItems' in schemas
      
       - Convert toshiba,tc358767 bridge binding to schema
      
      * tag 'devicetree-fixes-for-5.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        dt-bindings: watchdog: sunxi: fix error in schema
        bindings: media: venus: Drop redundant maxItems for power-domain-names
        dt-bindings: Remove Netlogic bindings
        clk: versatile: clk-icst: Ensure clock names are unique
        of: Support using 'mask' in making device bus id
        dt-bindings: treewide: Update @st.com email address to @foss.st.com
        dt-bindings: media: Update maintainers for st,stm32-hwspinlock.yaml
        dt-bindings: media: Update maintainers for st,stm32-cec.yaml
        dt-bindings: mfd: timers: Update maintainers for st,stm32-timers
        dt-bindings: timer: Update maintainers for st,stm32-timer
        dt-bindings: i2c: imx: hardware do not restrict clock-frequency to only 100 and 400 kHz
        dt-bindings: display: bridge: Convert toshiba,tc358767.txt to yaml
        dt-bindings: Rename Ingenic CGU headers to ingenic,*.h
      0d1503d8
    • Linus Torvalds's avatar
      Merge tag 'timers-urgent-2021-11-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 622c72b6
      Linus Torvalds authored
      Pull timer fix from Thomas Gleixner:
       "A single fix for POSIX CPU timers to address a problem where POSIX CPU
        timer delivery stops working for a new child task because
        copy_process() copies state information which is only valid for the
        parent task"
      
      * tag 'timers-urgent-2021-11-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        posix-cpu-timers: Clear task::posix_cputimers_work in copy_process()
      622c72b6
    • Linus Torvalds's avatar
      Merge tag 'irq-urgent-2021-11-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c36e33e2
      Linus Torvalds authored
      Pull irq fixes from Thomas Gleixner:
       "A set of fixes for the interrupt subsystem
      
        Core code:
      
         - A regression fix for the Open Firmware interrupt mapping code where
           a interrupt controller property in a node caused a map property in
           the same node to be ignored.
      
        Interrupt chip drivers:
      
         - Workaround a limitation in SiFive PLIC interrupt chip which
           silently ignores an EOI when the interrupt line is masked.
      
         - Provide the missing mask/unmask implementation for the CSKY MP
           interrupt controller.
      
        PCI/MSI:
      
         - Prevent a use after free when PCI/MSI interrupts are released by
           destroying the sysfs entries before freeing the memory which is
           accessed in the sysfs show() function.
      
         - Implement a mask quirk for the Nvidia ION AHCI chip which does not
           advertise masking capability despite implementing it. Even worse
           the chip comes out of reset with all MSI entries masked, which due
           to the missing masking capability never get unmasked.
      
         - Move the check which prevents accessing the MSI[X] masking for XEN
           back into the low level accessors. The recent consolidation missed
           that these accessors can be invoked from places which do not have
           that check which broke XEN. Move them back to he original place
           instead of sprinkling tons of these checks all over the code"
      
      * tag 'irq-urgent-2021-11-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        of/irq: Don't ignore interrupt-controller when interrupt-map failed
        irqchip/sifive-plic: Fixup EOI failed when masked
        irqchip/csky-mpintc: Fixup mask/unmask implementation
        PCI/MSI: Destroy sysfs before freeing entries
        PCI: Add MSI masking quirk for Nvidia ION AHCI
        PCI/MSI: Deal with devices lying about their MSI mask capability
        PCI/MSI: Move non-mask check back into low level accessors
      c36e33e2
    • Linus Torvalds's avatar
      Merge tag 'locking-urgent-2021-11-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 218cc8b8
      Linus Torvalds authored
      Pull x86 static call update from Thomas Gleixner:
       "A single fix for static calls to make the trampoline patching more
        robust by placing explicit signature bytes after the call trampoline
        to prevent patching random other jumps like the CFI jump table
        entries"
      
      * tag 'locking-urgent-2021-11-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        static_call,x86: Robustify trampoline patching
      218cc8b8
    • Linus Torvalds's avatar
      Merge tag 'sched_urgent_for_v5.16_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · fc661f2d
      Linus Torvalds authored
      Pull scheduler fixes from Borislav Petkov:
      
       - Avoid touching ~100 config files in order to be able to select the
         preemption model
      
       - clear cluster CPU masks too, on the CPU unplug path
      
       - prevent use-after-free in cfs
      
       - Prevent a race condition when updating CPU cache domains
      
       - Factor out common shared part of smp_prepare_cpus() into a common
         helper which can be called by both baremetal and Xen, in order to fix
         a booting of Xen PV guests
      
      * tag 'sched_urgent_for_v5.16_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        preempt: Restore preemption model selection configs
        arch_topology: Fix missing clear cluster_cpumask in remove_cpu_topology()
        sched/fair: Prevent dead task groups from regaining cfs_rq's
        sched/core: Mitigate race cpus_share_cache()/update_top_cache_domain()
        x86/smp: Factor out parts of native_smp_prepare_cpus()
      fc661f2d
    • Linus Torvalds's avatar
      Merge tag 'perf_urgent_for_v5.16_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f7018be2
      Linus Torvalds authored
      Pull perf fixes from Borislav Petkov:
      
       - Prevent unintentional page sharing by checking whether a page
         reference to a PMU samples page has been acquired properly before
         that
      
       - Make sure the LBR_SELECT MSR is saved/restored too
      
       - Reset the LBR_SELECT MSR when resetting the LBR PMU to clear any
         residual data left
      
      * tag 'perf_urgent_for_v5.16_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/core: Avoid put_page() when GUP fails
        perf/x86/vlbr: Add c->flags to vlbr event constraints
        perf/x86/lbr: Reset LBR_SELECT during vlbr reset
      f7018be2
    • Linus Torvalds's avatar
      Merge tag 'x86_urgent_for_v5.16_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1654e95e
      Linus Torvalds authored
      Pull x86 fixes from Borislav Petkov:
      
       - Add the model number of a new, Raptor Lake CPU, to intel-family.h
      
       - Do not log spurious corrected MCEs on SKL too, due to an erratum
      
       - Clarify the path of paravirt ops patches upstream
      
       - Add an optimization to avoid writing out AMX components to sigframes
         when former are in init state
      
      * tag 'x86_urgent_for_v5.16_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/cpu: Add Raptor Lake to Intel family
        x86/mce: Add errata workaround for Skylake SKX37
        MAINTAINERS: Add some information to PARAVIRT_OPS entry
        x86/fpu: Optimize out sigframe xfeatures when in init state
      1654e95e
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-for-v5.16-2021-11-13' of... · 35c8fad4
      Linus Torvalds authored
      Merge tag 'perf-tools-for-v5.16-2021-11-13' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull more perf tools updates from Arnaldo Carvalho de Melo:
       "Hardware tracing:
      
         - ARM:
            * Print the size of the buffer size consistently in hexadecimal in
              ARM Coresight.
            * Add Coresight snapshot mode support.
            * Update --switch-events docs in 'perf record'.
            * Support hardware-based PID tracing.
            * Track task context switch for cpu-mode events.
      
         - Vendor events:
            * Add metric events JSON file for power10 platform
      
        perf test:
      
         - Get 'perf test' unit tests closer to kunit.
      
         - Topology tests improvements.
      
         - Remove bashisms from some tests.
      
        perf bench:
      
         - Fix memory leak of perf_cpu_map__new() in the futex benchmarks.
      
        libbpf:
      
         - Add some more weak libbpf functions o allow building with the
           libbpf versions, old ones, present in distros.
      
        libbeauty:
      
         - Translate [gs]setsockopt 'level' argument integer values to
           strings.
      
        tools headers UAPI:
      
         - Sync futex_waitv, arch prctl, sound, i195_drm and msr-index files
           with the kernel sources.
      
        Documentation:
      
         - Add documentation to 'struct symbol'.
      
         - Synchronize the definition of enum perf_hw_id with code in
           tools/perf/design.txt"
      
      * tag 'perf-tools-for-v5.16-2021-11-13' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux: (67 commits)
        perf tests: Remove bash constructs from stat_all_pmu.sh
        perf tests: Remove bash construct from record+zstd_comp_decomp.sh
        perf test: Remove bash construct from stat_bpf_counters.sh test
        perf bench futex: Fix memory leak of perf_cpu_map__new()
        tools arch x86: Sync the msr-index.h copy with the kernel sources
        tools headers UAPI: Sync drm/i915_drm.h with the kernel sources
        tools headers UAPI: Sync sound/asound.h with the kernel sources
        tools headers UAPI: Sync linux/prctl.h with the kernel sources
        tools headers UAPI: Sync arch prctl headers with the kernel sources
        perf tools: Add more weak libbpf functions
        perf bpf: Avoid memory leak from perf_env__insert_btf()
        perf symbols: Factor out annotation init/exit
        perf symbols: Bit pack to save a byte
        perf symbols: Add documentation to 'struct symbol'
        tools headers UAPI: Sync files changed by new futex_waitv syscall
        perf test bpf: Use ARRAY_CHECK() instead of ad-hoc equivalent, addressing array_size.cocci warning
        perf arm-spe: Support hardware-based PID tracing
        perf arm-spe: Save context ID in record
        perf arm-spe: Update --switch-events docs in 'perf record'
        perf arm-spe: Track task context switch for cpu-mode events
        ...
      35c8fad4