1. 12 Feb, 2022 1 commit
  2. 11 Feb, 2022 4 commits
    • Sebastian Andrzej Siewior's avatar
      locking: Enable RT_MUTEXES by default on PREEMPT_RT. · 1c6f9ec0
      Sebastian Andrzej Siewior authored
      The CONFIG_RT_MUTEXES option is enabled by CONFIG_FUTEX and CONFIG_I2C.
      If both are disabled then a CONFIG_PREEMPT_RT build fails to compile.
      It is not possible to have a PREEMPT_RT kernel without RT_MUTEX support
      because RT_MUTEX based locking is always used.
      
      Enable CONFIG_RT_MUTEXES by default on PREEMPT_RT builds.
      Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Link: https://lkml.kernel.org/r/YgKmhjkcuqWXdUjQ@linutronix.de
      1c6f9ec0
    • Sebastian Andrzej Siewior's avatar
      locking/local_lock: Make the empty local_lock_*() function a macro. · 9983a9d5
      Sebastian Andrzej Siewior authored
      It has been said that local_lock() does not add any overhead compared to
      preempt_disable() in a !LOCKDEP configuration. A micro benchmark showed
      an unexpected result which can be reduced to the fact that local_lock()
      was not entirely optimized away.
      In the !LOCKDEP configuration local_lock_acquire() is an empty static
      inline function. On x86 the this_cpu_ptr() argument of that function is
      fully evaluated leading to an additional mov+add instructions which are
      not needed and not used.
      
      Replace the static inline function with a macro. The typecheck() macro
      ensures that the argument is of proper type while the resulting
      disassembly shows no traces of this_cpu_ptr().
      Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Reviewed-by: default avatarWaiman Long <longman@redhat.com>
      Link: https://lkml.kernel.org/r/YgKjciR60fZft2l4@linutronix.de
      9983a9d5
    • Mark Rutland's avatar
      atomics: Fix atomic64_{read_acquire,set_release} fallbacks · dc1b4df0
      Mark Rutland authored
      Arnd reports that on 32-bit architectures, the fallbacks for
      atomic64_read_acquire() and atomic64_set_release() are broken as they
      use smp_load_acquire() and smp_store_release() respectively, which do
      not work on types larger than the native word size.
      
      Since those contain compiletime_assert_atomic_type(), any attempt to use
      those fallbacks will result in a build-time error. e.g. with the
      following added to arch/arm/kernel/setup.c:
      
      | void test_atomic64(atomic64_t *v)
      | {
      |        atomic64_set_release(v, 5);
      |        atomic64_read_acquire(v);
      | }
      
      The compiler will complain as follows:
      
      | In file included from <command-line>:
      | In function 'arch_atomic64_set_release',
      |     inlined from 'test_atomic64' at ./include/linux/atomic/atomic-instrumented.h:669:2:
      | ././include/linux/compiler_types.h:346:38: error: call to '__compiletime_assert_9' declared with attribute error: Need native word sized stores/loads for atomicity.
      |   346 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |       |                                      ^
      | ././include/linux/compiler_types.h:327:4: note: in definition of macro '__compiletime_assert'
      |   327 |    prefix ## suffix();    \
      |       |    ^~~~~~
      | ././include/linux/compiler_types.h:346:2: note: in expansion of macro '_compiletime_assert'
      |   346 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
      |       |  ^~~~~~~~~~~~~~~~~~~
      | ././include/linux/compiler_types.h:349:2: note: in expansion of macro 'compiletime_assert'
      |   349 |  compiletime_assert(__native_word(t),    \
      |       |  ^~~~~~~~~~~~~~~~~~
      | ./include/asm-generic/barrier.h:133:2: note: in expansion of macro 'compiletime_assert_atomic_type'
      |   133 |  compiletime_assert_atomic_type(*p);    \
      |       |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      | ./include/asm-generic/barrier.h:164:55: note: in expansion of macro '__smp_store_release'
      |   164 | #define smp_store_release(p, v) do { kcsan_release(); __smp_store_release(p, v); } while (0)
      |       |                                                       ^~~~~~~~~~~~~~~~~~~
      | ./include/linux/atomic/atomic-arch-fallback.h:1270:2: note: in expansion of macro 'smp_store_release'
      |  1270 |  smp_store_release(&(v)->counter, i);
      |       |  ^~~~~~~~~~~~~~~~~
      | make[2]: *** [scripts/Makefile.build:288: arch/arm/kernel/setup.o] Error 1
      | make[1]: *** [scripts/Makefile.build:550: arch/arm/kernel] Error 2
      | make: *** [Makefile:1831: arch/arm] Error 2
      
      Fix this by only using smp_load_acquire() and smp_store_release() for
      native atomic types, and otherwise falling back to the regular barriers
      necessary for acquire/release semantics, as we do in the more generic
      acquire and release fallbacks.
      
      Since the fallback templates are used to generate the atomic64_*() and
      atomic_*() operations, the __native_word() check is added to both. For
      the atomic_*() operations, which are always 32-bit, the __native_word()
      check is redundant but not harmful, as it is always true.
      
      For the example above this works as expected on 32-bit, e.g. for arm
      multi_v7_defconfig:
      
      | <test_atomic64>:
      |         push    {r4, r5}
      |         dmb     ish
      |         pldw    [r0]
      |         mov     r2, #5
      |         mov     r3, #0
      |         ldrexd  r4, [r0]
      |         strexd  r4, r2, [r0]
      |         teq     r4, #0
      |         bne     484 <test_atomic64+0x14>
      |         ldrexd  r2, [r0]
      |         dmb     ish
      |         pop     {r4, r5}
      |         bx      lr
      
      ... and also on 64-bit, e.g. for arm64 defconfig:
      
      | <test_atomic64>:
      |         bti     c
      |         paciasp
      |         mov     x1, #0x5
      |         stlr    x1, [x0]
      |         ldar    x0, [x0]
      |         autiasp
      |         ret
      Reported-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
      Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Reviewed-by: default avatarArd Biesheuvel <ardb@kernel.org>
      Reviewed-by: default avatarBoqun Feng <boqun.feng@gmail.com>
      Link: https://lore.kernel.org/r/20220207101943.439825-1-mark.rutland@arm.com
      dc1b4df0
    • Minchan Kim's avatar
      locking: Add missing __sched attributes · c441e934
      Minchan Kim authored
      This patch adds __sched attributes to a few missing places
      to show blocked function rather than locking function
      in get_wchan.
      Signed-off-by: default avatarMinchan Kim <minchan@kernel.org>
      Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Link: https://lkml.kernel.org/r/20220115231657.84828-1-minchan@kernel.org
      c441e934
  3. 25 Jan, 2022 5 commits
  4. 23 Jan, 2022 6 commits
    • Linus Torvalds's avatar
      Linux 5.17-rc1 · e783362e
      Linus Torvalds authored
      e783362e
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-for-v5.17-2022-01-22' of... · 40c84321
      Linus Torvalds authored
      Merge tag 'perf-tools-for-v5.17-2022-01-22' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull more perf tools updates from Arnaldo Carvalho de Melo:
      
       - Fix printing 'phys_addr' in 'perf script'.
      
       - Fix failure to add events with 'perf probe' in ppc64 due to not
         removing leading dot (ppc64 ABIv1).
      
       - Fix cpu_map__item() python binding building.
      
       - Support event alias in form foo-bar-baz, add pmu-events and
         parse-event tests for it.
      
       - No need to setup affinities when starting a workload or attaching to
         a pid.
      
       - Use path__join() to compose a path instead of ad-hoc snprintf()
         equivalent.
      
       - Override attr->sample_period for non-libpfm4 events.
      
       - Use libperf cpumap APIs instead of accessing the internal state
         directly.
      
       - Sync x86 arch prctl headers and files changed by the new
         set_mempolicy_home_node syscall with the kernel sources.
      
       - Remove duplicate include in cpumap.h.
      
       - Remove redundant err variable.
      
      * tag 'perf-tools-for-v5.17-2022-01-22' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux:
        perf tools: Remove redundant err variable
        perf test: Add parse-events test for aliases with hyphens
        perf test: Add pmu-events test for aliases with hyphens
        perf parse-events: Support event alias in form foo-bar-baz
        perf evsel: Override attr->sample_period for non-libpfm4 events
        perf cpumap: Remove duplicate include in cpumap.h
        perf cpumap: Migrate to libperf cpumap api
        perf python: Fix cpu_map__item() building
        perf script: Fix printing 'phys_addr' failure issue
        tools headers UAPI: Sync files changed by new set_mempolicy_home_node syscall
        tools headers UAPI: Sync x86 arch prctl headers with the kernel sources
        perf machine: Use path__join() to compose a path instead of snprintf(dir, '/', filename)
        perf evlist: No need to setup affinities when disabling events for pid targets
        perf evlist: No need to setup affinities when enabling events for pid targets
        perf stat: No need to setup affinities when starting a workload
        perf affinity: Allow passing a NULL arg to affinity__cleanup()
        perf probe: Fix ppc64 'perf probe add events failed' case
      40c84321
    • Linus Torvalds's avatar
      Merge tag 'trace-v5.17-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 67bfce0e
      Linus Torvalds authored
      Pull ftrace fix from Steven Rostedt:
       "Fix s390 breakage from sorting mcount tables.
      
        The latest merge of the tracing tree sorts the mcount table at build
        time. But s390 appears to do things differently (like always) and
        replaces the sorted table back to the original unsorted one. As the
        ftrace algorithm depends on it being sorted, bad things happen when it
        is not, and s390 experienced those bad things.
      
        Add a new config to tell the boot if the mcount table is sorted or
        not, and allow s390 to opt out of it"
      
      * tag 'trace-v5.17-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        ftrace: Fix assuming build time sort works for s390
      67bfce0e
    • Steven Rostedt (Google)'s avatar
      ftrace: Fix assuming build time sort works for s390 · 6b9b6413
      Steven Rostedt (Google) authored
      To speed up the boot process, as mcount_loc needs to be sorted for ftrace
      to work properly, sorting it at build time is more efficient than boot up
      and can save milliseconds of time. Unfortunately, this change broke s390
      as it will modify the mcount_loc location after the sorting takes place
      and will put back the unsorted locations. Since the sorting is skipped at
      boot up if it is believed that it was sorted at run time, ftrace can crash
      as its algorithms are dependent on the list being sorted.
      
      Add a new config BUILDTIME_MCOUNT_SORT that is set when
      BUILDTIME_TABLE_SORT but not if S390 is set. Use this config to determine
      if sorting should take place at boot up.
      
      Link: https://lore.kernel.org/all/yt9dee51ctfn.fsf@linux.ibm.com/
      
      Fixes: 72b3942a ("scripts: ftrace - move the sort-processing in ftrace_init")
      Reported-by: default avatarSven Schnelle <svens@linux.ibm.com>
      Tested-by: default avatarHeiko Carstens <hca@linux.ibm.com>
      Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
      6b9b6413
    • Linus Torvalds's avatar
      Merge tag 'kbuild-fixes-v5.17' of... · 473aec0e
      Linus Torvalds authored
      Merge tag 'kbuild-fixes-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
      
      Pull Kbuild fixes from Masahiro Yamada:
      
       - Bring include/uapi/linux/nfc.h into the UAPI compile-test coverage
      
       - Revert the workaround of CONFIG_CC_IMPLICIT_FALLTHROUGH
      
       - Fix build errors in certs/Makefile
      
      * tag 'kbuild-fixes-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        certs: Fix build error when CONFIG_MODULE_SIG_KEY is empty
        certs: Fix build error when CONFIG_MODULE_SIG_KEY is PKCS#11 URI
        Revert "Makefile: Do not quote value for CONFIG_CC_IMPLICIT_FALLTHROUGH"
        usr/include/Makefile: add linux/nfc.h to the compile-test coverage
      473aec0e
    • Linus Torvalds's avatar
      Merge tag 'bitmap-5.17-rc1' of git://github.com/norov/linux · 3689f9f8
      Linus Torvalds authored
      Pull bitmap updates from Yury Norov:
      
       - introduce for_each_set_bitrange()
      
       - use find_first_*_bit() instead of find_next_*_bit() where possible
      
       - unify for_each_bit() macros
      
      * tag 'bitmap-5.17-rc1' of git://github.com/norov/linux:
        vsprintf: rework bitmap_list_string
        lib: bitmap: add performance test for bitmap_print_to_pagebuf
        bitmap: unify find_bit operations
        mm/percpu: micro-optimize pcpu_is_populated()
        Replace for_each_*_bit_from() with for_each_*_bit() where appropriate
        find: micro-optimize for_each_{set,clear}_bit()
        include/linux: move for_each_bit() macros from bitops.h to find.h
        cpumask: replace cpumask_next_* with cpumask_first_* where appropriate
        tools: sync tools/bitmap with mother linux
        all: replace find_next{,_zero}_bit with find_first{,_zero}_bit where appropriate
        cpumask: use find_first_and_bit()
        lib: add find_first_and_bit()
        arch: remove GENERIC_FIND_FIRST_BIT entirely
        include: move find.h from asm_generic to linux
        bitops: move find_bit_*_le functions from le.h to find.h
        bitops: protect find_first_{,zero}_bit properly
      3689f9f8
  5. 22 Jan, 2022 24 commits
    • Minghao Chi's avatar
      perf tools: Remove redundant err variable · f0ac5b85
      Minghao Chi authored
      Return value from perf_event__process_tracing_data() directly instead
      of taking this in another redundant variable.
      Reported-by: default avatarZeal Robot <zealci@zte.com.cn>
      Signed-off-by: default avatarMinghao Chi <chi.minghao@zte.com.cn>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: http://lore.kernel.org/lkml/20220112080109.666800-1-chi.minghao@zte.com.cnSigned-off-by: default avatarCGEL ZTE <cgel.zte@gmail.com>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      f0ac5b85
    • John Garry's avatar
      perf test: Add parse-events test for aliases with hyphens · b4a7276c
      John Garry authored
      Add a test which allows us to test parsing an event alias with hyphens.
      
      Since these events typically do not exist on most host systems, add the
      alias to the fake pmu.
      
      Function perf_pmu__test_parse_init() has terms added to match known test
      aliases.
      Signed-off-by: default avatarJohn Garry <john.garry@huawei.com>
      Acked-by: default avatarIan Rogers <irogers@google.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Kajol Jain <kjain@linux.ibm.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Qi Liu <liuqi115@huawei.com>
      Cc: Shaokun Zhang <zhangshaokun@hisilicon.com>
      Cc: linuxarm@huawei.com
      Link: https://lore.kernel.org/r/1642432215-234089-4-git-send-email-john.garry@huawei.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      b4a7276c
    • John Garry's avatar
      perf test: Add pmu-events test for aliases with hyphens · 34fa67e7
      John Garry authored
      Add a test for aliases with hyphens in the name to ensure that the
      pmu-events tables are as expects. There should be no reason why these sort
      of aliases would be treated differently, but no harm in checking.
      Signed-off-by: default avatarJohn Garry <john.garry@huawei.com>
      Acked-by: default avatarIan Rogers <irogers@google.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Kajol Jain <kjain@linux.ibm.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Qi Liu <liuqi115@huawei.com>
      Cc: Shaokun Zhang <zhangshaokun@hisilicon.com>
      Cc: linuxarm@huawei.com
      Link: https://lore.kernel.org/r/1642432215-234089-3-git-send-email-john.garry@huawei.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      34fa67e7
    • John Garry's avatar
      perf parse-events: Support event alias in form foo-bar-baz · 864bc8c9
      John Garry authored
      Event aliasing for events whose name in the form foo-bar-baz is not
      supported, while foo-bar, foo_bar_baz, and other combinations are, i.e.
      two hyphens are not supported.
      
      The HiSilicon D06 platform has events in such form:
      
        $ ./perf list sdir-home-migrate
      
        List of pre-defined events (to be used in -e):
      
        uncore hha:
          sdir-home-migrate
         [Unit: hisi_sccl,hha]
      
        $ sudo ./perf stat -e sdir-home-migrate
        event syntax error: 'sdir-home-migrate'
                                \___ parser error
        Run 'perf list' for a list of valid events
      
         Usage: perf stat [<options>] [<command>]
      
         -e, --event <event>event selector. use 'perf list' to list available events
      
      To support, add an extra PMU event symbol type for "baz", and add a new
      rule in the bison file.
      Signed-off-by: default avatarJohn Garry <john.garry@huawei.com>
      Acked-by: default avatarIan Rogers <irogers@google.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Kajol Jain <kjain@linux.ibm.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Qi Liu <liuqi115@huawei.com>
      Cc: Shaokun Zhang <zhangshaokun@hisilicon.com>
      Cc: linuxarm@huawei.com
      Link: https://lore.kernel.org/r/1642432215-234089-2-git-send-email-john.garry@huawei.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      864bc8c9
    • German Gomez's avatar
      perf evsel: Override attr->sample_period for non-libpfm4 events · 3606c0e1
      German Gomez authored
      A previous patch preventing "attr->sample_period" values from being
      overridden in pfm events changed a related behaviour in arm-spe.
      
      Before said patch:
      
        perf record -c 10000 -e arm_spe_0// -- sleep 1
      
      Would yield an SPE event with period=10000. After the patch, the period
      in "-c 10000" was being ignored because the arm-spe code initializes
      sample_period to a non-zero value.
      
      This patch restores the previous behaviour for non-libpfm4 events.
      
      Fixes: ae5dcc8a (“perf record: Prevent override of attr->sample_period for libpfm4 events”)
      Reported-by: default avatarChase Conklin <chase.conklin@arm.com>
      Signed-off-by: default avatarGerman Gomez <german.gomez@arm.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: John Fastabend <john.fastabend@gmail.com>
      Cc: KP Singh <kpsingh@kernel.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Martin KaFai Lau <kafai@fb.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Song Liu <songliubraving@fb.com>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Yonghong Song <yhs@fb.com>
      Cc: bpf@vger.kernel.org
      Cc: netdev@vger.kernel.org
      Link: http://lore.kernel.org/lkml/20220118144054.2541-1-german.gomez@arm.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      3606c0e1
    • Lv Ruyi's avatar
      perf cpumap: Remove duplicate include in cpumap.h · 24ead7c2
      Lv Ruyi authored
      Remove all but the first include of stdbool.h from cpumap.h.
      Reported-by: default avatarZeal Robot <zealci@zte.com.cn>
      Signed-off-by: default avatarLv Ruyi <lv.ruyi@zte.com.cn>
      Acked-by: default avatarIan Rogers <irogers@google.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: James Clark <james.clark@arm.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: https://lore.kernel.org/r/20220117083730.863200-1-lv.ruyi@zte.com.cnSigned-off-by: default avatarCGEL ZTE <cgel.zte@gmail.com>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      24ead7c2
    • Ian Rogers's avatar
      perf cpumap: Migrate to libperf cpumap api · 44028699
      Ian Rogers authored
      Switch from directly accessing the perf_cpu_map to using the appropriate
      libperf API when possible. Using the API simplifies the job of
      refactoring use of perf_cpu_map.
      Signed-off-by: default avatarIan Rogers <irogers@google.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Alexey Bayduraev <alexey.v.bayduraev@linux.intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: André Almeida <andrealmeid@collabora.com>
      Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
      Cc: Darren Hart <dvhart@infradead.org>
      Cc: Davidlohr Bueso <dave@stgolabs.net>
      Cc: Dmitriy Vyukov <dvyukov@google.com>
      Cc: Eric Dumazet <edumazet@google.com>
      Cc: German Gomez <german.gomez@arm.com>
      Cc: James Clark <james.clark@arm.com>
      Cc: Jin Yao <yao.jin@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: John Garry <john.garry@huawei.com>
      Cc: Kajol Jain <kjain@linux.ibm.com>
      Cc: Kan Liang <kan.liang@linux.intel.com>
      Cc: Leo Yan <leo.yan@linaro.org>
      Cc: Madhavan Srinivasan <maddy@linux.ibm.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Masami Hiramatsu <mhiramat@kernel.org>
      Cc: Miaoqian Lin <linmq006@gmail.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Riccardo Mancini <rickyman7@gmail.com>
      Cc: Shunsuke Nakamura <nakamura.shun@fujitsu.com>
      Cc: Song Liu <song@kernel.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Stephen Brennan <stephen.s.brennan@oracle.com>
      Cc: Steven Rostedt (VMware) <rostedt@goodmis.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Thomas Richter <tmricht@linux.ibm.com>
      Cc: Yury Norov <yury.norov@gmail.com>
      Link: http://lore.kernel.org/lkml/20220122045811.3402706-3-irogers@google.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      44028699
    • Ian Rogers's avatar
      perf python: Fix cpu_map__item() building · 1d1d9af2
      Ian Rogers authored
      Value should be built as an integer.
      
      Switch some uses of perf_cpu_map to use the library API.
      
      Fixes: 6d18804b ("perf cpumap: Give CPUs their own type")
      Signed-off-by: default avatarIan Rogers <irogers@google.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Alexey Bayduraev <alexey.v.bayduraev@linux.intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: André Almeida <andrealmeid@collabora.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
      Cc: Darren Hart <dvhart@infradead.org>
      Cc: Davidlohr Bueso <dave@stgolabs.net>
      Cc: Dmitriy Vyukov <dvyukov@google.com>
      Cc: Eric Dumazet <edumazet@google.com>
      Cc: German Gomez <german.gomez@arm.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: James Clark <james.clark@arm.com>
      Cc: Jin Yao <yao.jin@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: John Garry <john.garry@huawei.com>
      Cc: Kajol Jain <kjain@linux.ibm.com>
      Cc: Kan Liang <kan.liang@linux.intel.com>
      Cc: Leo Yan <leo.yan@linaro.org>
      Cc: Madhavan Srinivasan <maddy@linux.ibm.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Masami Hiramatsu <mhiramat@kernel.org>
      Cc: Miaoqian Lin <linmq006@gmail.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Riccardo Mancini <rickyman7@gmail.com>
      Cc: Shunsuke Nakamura <nakamura.shun@fujitsu.com>
      Cc: Song Liu <song@kernel.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Stephen Brennan <stephen.s.brennan@oracle.com>
      Cc: Steven Rostedt (VMware) <rostedt@goodmis.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Thomas Richter <tmricht@linux.ibm.com>
      Cc: Yury Norov <yury.norov@gmail.com>
      Link: http://lore.kernel.org/lkml/20220122045811.3402706-2-irogers@google.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      1d1d9af2
    • Yao Jin's avatar
      perf script: Fix printing 'phys_addr' failure issue · 9edcde68
      Yao Jin authored
      Perf script was failed to print the phys_addr for SPE profiling.
      One 'dummy' event is added by SPE profiling but it doesn't have PHYS_ADDR
      attribute set, perf script then exits with error.
      
      Now referring to 'addr', use evsel__do_check_stype() to check the type.
      
      Before:
      
        # perf record -e arm_spe_0/branch_filter=0,ts_enable=1,pa_enable=1,load_filter=1,jitter=0,\
      		store_filter=0,min_latency=0,event_filter=2/ -p 4064384 -- sleep 3
        # perf script -F pid,tid,addr,phys_addr
        Samples for 'dummy:u' event do not have PHYS_ADDR attribute set. Cannot print 'phys_addr' field.
      
      After:
      
        # perf record -e arm_spe_0/branch_filter=0,ts_enable=1,pa_enable=1,load_filter=1,jitter=0,\
      		store_filter=0,min_latency=0,event_filter=2/ -p 4064384 -- sleep 3
        # perf script -F pid,tid,addr,phys_addr
        4064384/4064384 ffff802f921be0d0      2f921be0d0
        4064384/4064384 ffff802f921be0d0      2f921be0d0
      Reviewed-by: default avatarGerman Gomez <german.gomez@arm.com>
      Signed-off-by: default avatarYao Jin <jinyao5@huawei.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Hanjun Guo <guohanjun@huawei.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lore.kernel.org/lkml/20220121065954.2121900-1-liwei391@huawei.comSigned-off-by: default avatarWei Li <liwei391@huawei.com>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      9edcde68
    • Masahiro Yamada's avatar
      certs: Fix build error when CONFIG_MODULE_SIG_KEY is empty · e6340b65
      Masahiro Yamada authored
      Since b8c96a6b ("certs: simplify $(srctree)/ handling and remove
      config_filename macro"), when CONFIG_MODULE_SIG_KEY is empty,
      signing_key.x509 fails to build:
      
          CERT    certs/signing_key.x509
        Usage: extract-cert <source> <dest>
        make[1]: *** [certs/Makefile:78: certs/signing_key.x509] Error 2
        make: *** [Makefile:1831: certs] Error 2
      
      Pass "" to the first argument of extract-cert to fix the build error.
      
      Link: https://lore.kernel.org/linux-kbuild/20220120094606.2skuyb26yjlnu66q@lion.mk-sys.cz/T/#u
      Fixes: b8c96a6b ("certs: simplify $(srctree)/ handling and remove config_filename macro")
      Reported-by: default avatarMichal Kubecek <mkubecek@suse.cz>
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Tested-by: default avatarMichal Kubecek <mkubecek@suse.cz>
      e6340b65
    • Masahiro Yamada's avatar
      certs: Fix build error when CONFIG_MODULE_SIG_KEY is PKCS#11 URI · ad29a2fb
      Masahiro Yamada authored
      When CONFIG_MODULE_SIG_KEY is PKCS#11 URL (pkcs11:*), signing_key.x509
      fails to build:
      
        certs/Makefile:77: *** target pattern contains no '%'.  Stop.
      
      Due to the typo, $(X509_DEP) contains a colon.
      
      Fix it.
      
      Fixes: b8c96a6b ("certs: simplify $(srctree)/ handling and remove config_filename macro")
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      ad29a2fb
    • Masahiro Yamada's avatar
      Revert "Makefile: Do not quote value for CONFIG_CC_IMPLICIT_FALLTHROUGH" · e92e2634
      Masahiro Yamada authored
      This reverts commit cd8c917a.
      
      Commit 129ab0d2 ("kbuild: do not quote string values in
      include/config/auto.conf") provided the final solution.
      
      Now reverting the temporary workaround.
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      e92e2634
    • Dmitry V. Levin's avatar
      usr/include/Makefile: add linux/nfc.h to the compile-test coverage · 10756dc5
      Dmitry V. Levin authored
      As linux/nfc.h userspace compilation was finally fixed by commits
      79b69a83 ("nfc: uapi: use kernel size_t to fix user-space builds")
      and 7175f02c ("uapi: fix linux/nfc.h userspace compilation errors"),
      there is no need to keep the compile-test exception for it in
      usr/include/Makefile.
      Signed-off-by: default avatarDmitry V. Levin <ldv@altlinux.org>
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      10756dc5
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 1c522832
      Linus Torvalds authored
      Merge yet more updates from Andrew Morton:
       "This is the post-linux-next queue. Material which was based on or
        dependent upon material which was in -next.
      
        69 patches.
      
        Subsystems affected by this patch series: mm (migration and zsmalloc),
        sysctl, proc, and lib"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (69 commits)
        mm: hide the FRONTSWAP Kconfig symbol
        frontswap: remove support for multiple ops
        mm: mark swap_lock and swap_active_head static
        frontswap: simplify frontswap_register_ops
        frontswap: remove frontswap_test
        mm: simplify try_to_unuse
        frontswap: remove the frontswap exports
        frontswap: simplify frontswap_init
        frontswap: remove frontswap_curr_pages
        frontswap: remove frontswap_shrink
        frontswap: remove frontswap_tmem_exclusive_gets
        frontswap: remove frontswap_writethrough
        mm: remove cleancache
        lib/stackdepot: always do filter_irq_stacks() in stack_depot_save()
        lib/stackdepot: allow optional init and stack_table allocation by kvmalloc()
        proc: remove PDE_DATA() completely
        fs: proc: store PDE()->data into inode->i_private
        zsmalloc: replace get_cpu_var with local_lock
        zsmalloc: replace per zpage lock with pool->migrate_lock
        locking/rwlocks: introduce write_lock_nested
        ...
      1c522832
    • Linus Torvalds's avatar
      Merge tag '5.17-rc-part2-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6 · 8205ae32
      Linus Torvalds authored
      Pull cifs fixes from Steve French:
      
       - multichannel fixes, addressing additional reconnect and DFS scenarios
      
       - reenabling fscache support (indexing rewrite, metadata caching e.g.)
      
       - send additional version information during NTLMSSP negotiate to
         improve debugging
      
       - fix for a mount race
      
       - DFS fixes
      
       - fix for a memory leak for stable
      
      * tag '5.17-rc-part2-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: update internal module number
        smb3: send NTLMSSP version information
        cifs: Support fscache indexing rewrite
        cifs: cifs_ses_mark_for_reconnect should also update reconnect bits
        cifs: update tcpStatus during negotiate and sess setup
        cifs: make status checks in version independent callers
        cifs: remove repeated state change in dfs tree connect
        cifs: fix the cifs_reconnect path for DFS
        cifs: remove unused variable ses_selected
        cifs: protect all accesses to chan_* with chan_lock
        cifs: fix the connection state transitions with multichannel
        cifs: check reconnects for channels of active tcons too
        smb3: add new defines from protocol specification
        cifs: serialize all mount attempts
        cifs: quirk for STATUS_OBJECT_NAME_INVALID returned for non-ASCII dfs refs
        cifs: alloc_path_with_tree_prefix: do not append sep. if the path is empty
        cifs: clean up an inconsistent indenting
        cifs: free ntlmsspblob allocated in negotiate
      8205ae32
    • Linus Torvalds's avatar
      Merge tag 'xfs-5.17-merge-7' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 1cb69c80
      Linus Torvalds authored
      Pull xfs fixes from Darrick Wong:
       "One of the patches removes some dead code from xfs_ioctl32.h and the
        other fixes broken workqueue flushing in the inode garbage collector.
      
         - Minor cleanup of ioctl32 cruft
      
         - Clean up open coded inodegc workqueue function calls"
      
      * tag 'xfs-5.17-merge-7' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: flush inodegc workqueue tasks before cancel
        xfs: remove unused xfs_ioctl32.h declarations
      1cb69c80
    • Linus Torvalds's avatar
      Merge tag 'fscache-fixes-20220121' of... · 7fd350f6
      Linus Torvalds authored
      Merge tag 'fscache-fixes-20220121' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs
      
      Pull more fscache updates from David Howells:
       "A set of fixes and minor updates for the fscache rewrite:
      
         - Fix mishandling of volume collisions (the wait condition is
           inverted and so it was only waiting if the volume collision was
           already resolved).
      
         - Fix miscalculation of whether there's space available in
           cachefiles.
      
         - Make sure a default cache name is set on a cache if the user hasn't
           set one by the time they bind the cache.
      
         - Adjust the way the backing inode is presented in tracepoints, add a
           tracepoint for mkdir and trace directory lookup.
      
         - Add a tracepoint for failure to set the active file mark.
      
         - Add an explanation of the checks made on the backing filesystem.
      
         - Check that the backing filesystem supports tmpfile.
      
         - Document how the page-release cancellation of the read-skip
           optimisation works.
      
        And I've included a change for netfslib:
      
         - Make ops->init_rreq() optional"
      
      * tag 'fscache-fixes-20220121' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs:
        netfs: Make ops->init_rreq() optional
        fscache: Add a comment explaining how page-release optimisation works
        cachefiles: Check that the backing filesystem supports tmpfiles
        cachefiles: Explain checks in a comment
        cachefiles: Trace active-mark failure
        cachefiles: Make some tracepoint adjustments
        cachefiles: set default tag name if it's unspecified
        cachefiles: Calculate the blockshift in terms of bytes, not pages
        fscache: Fix the volume collision wait condition
      7fd350f6
    • Linus Torvalds's avatar
      Merge tag 'folio-5.17a' of git://git.infradead.org/users/willy/pagecache · b68b10b6
      Linus Torvalds authored
      Pull more folio updates from Matthew Wilcox:
       "Three small folio patches.
      
        One bug fix, one patch pulled forward from the patches destined for
        5.18 and then a patch to make use of that functionality"
      
      * tag 'folio-5.17a' of git://git.infradead.org/users/willy/pagecache:
        filemap: Use folio_put_refs() in filemap_free_folio()
        mm: Add folio_put_refs()
        pagevec: Initialise folio_batch->percpu_pvec_drained
      b68b10b6
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 369af20a
      Linus Torvalds authored
      Pull more SCSI updates from James Bottomley:
       "This series is all the stragglers that didn't quite make the first
        merge window pull. It's mostly minor updates and bug fixes of merge
        window code"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: nsp_cs: Check of ioremap return value
        scsi: ufs: ufs-mediatek: Fix error checking in ufs_mtk_init_va09_pwr_ctrl()
        scsi: ufs: Modify Tactive time setting conditions
        scsi: efct: Remove useless DMA-32 fallback configuration
        scsi: message: fusion: mptctl: Use dma_alloc_coherent()
        scsi: message: fusion: mptsas: Use dma_alloc_coherent()
        scsi: message: fusion: Use dma_alloc_coherent() in mptsas_exp_repmanufacture_info()
        scsi: message: fusion: mptbase: Use dma_alloc_coherent()
        scsi: message: fusion: Use dma_alloc_coherent() in mpt_alloc_fw_memory()
        scsi: message: fusion: Remove usage of the deprecated "pci-dma-compat.h" API
        scsi: megaraid: Avoid mismatched storage type sizes
        scsi: hisi_sas: Remove unused variable and check in hisi_sas_send_ata_reset_each_phy()
        scsi: aic79xx: Remove redundant error variable
        scsi: pm80xx: Port reset timeout error handling correction
        scsi: mpi3mr: Fix formatting problems in some kernel-doc comments
        scsi: mpi3mr: Fix some spelling mistakes
        scsi: mpt3sas: Update persistent trigger pages from sysfs interface
        scsi: core: Fix scsi_mode_select() interface
        scsi: aacraid: Fix spelling of "its"
        scsi: qedf: Fix potential dereference of NULL pointer
      369af20a
    • Linus Torvalds's avatar
      Merge tag 'ata-5.17-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata · b087788c
      Linus Torvalds authored
      Pull ATA fix from Damien Le Moal:
       "A single patch to fix a compilation error in the pata_octeon_cf driver
        (mips architecture), from me"
      
      * tag 'ata-5.17-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata:
        ata: pata_octeon_cf: fix call to trace_ata_bmdma_stop()
      b087788c
    • Linus Torvalds's avatar
      Merge tag 'thermal-5.17-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 6bdfb259
      Linus Torvalds authored
      Pull more thermal control updates from Rafael Wysocki:
       "Add device IDs for Raptor Lake to the int340x thermal control driver
        (Srinivas Pandruvada)"
      
      * tag 'thermal-5.17-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        thermal: int340x: Add Raptor Lake PCI device id
        thermal: int340x: Support Raptor Lake
      6bdfb259
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.17-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 71f1b916
      Linus Torvalds authored
      Pull extra ACPI updates from Rafael Wysocki:
       "These fix and clean up the ACPI CPPC driver on top of the recent
        changes in it merged previously and add some new device IDs to the
        ACPI DPTF driver.
      
        Specifics:
      
         - Fix a recently introduced endianness-related issue in the ACPI CPPC
           library and clean it up on top of that (Rafael Wysocki)
      
         - Add new device IDs for the Raptor Lake SoC to the ACPI DPTF driver
           (Srinivas Pandruvada)"
      
      * tag 'acpi-5.17-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: DPTF: Support Raptor Lake
        ACPI: CPPC: Drop redundant local variable from cpc_read()
        ACPI: CPPC: Fix up I/O port access in cpc_read()
      71f1b916
    • Linus Torvalds's avatar
      Merge tag 'devicetree-fixes-for-5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 0809edba
      Linus Torvalds authored
      Pull devicetree fixes and cleanups from Rob Herring:
      
       - Fix a regression when probing a child device reusing the parent
         device's DT node pointer
      
       - Refactor of_parse_phandle*() variants to static inlines
      
       - Drop Enric Balletbo i Serra as a maintainer
      
       - Fix DT schemas with arrays incorrectly encoded as a matrix
      
       - Drop unneeded pinctrl properties from schemas
      
       - Add SPI peripheral schema to SPI based displays
      
       - Clean-up several schema examples
      
       - Clean-up trivial-devices.yaml comments
      
       - Add missing, in use vendor prefixes: Wingtech, Thundercomm, Huawei,
         F(x)tec, 8devices
      
      * tag 'devicetree-fixes-for-5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        dt-bindings: google,cros-ec: drop Enric Balletbo i Serra from maintainers
        dt-bindings: display: bridge: drop Enric Balletbo i Serra from maintainers
        of: Check 'of_node_reused' flag on of_match_device()
        of: property: define of_property_read_u{8,16,32,64}_array() unconditionally
        of: base: make small of_parse_phandle() variants static inline
        dt-bindings: mfd: cirrus,madera: Fix 'interrupts' in example
        dt-bindings: Fix array schemas encoded as matrices
        dt-bindings: Drop unnecessary pinctrl properties
        dt-bindings: rtc: st,stm32-rtc: Make each example a separate entry
        dt-bindings: mmc: arm,pl18x: Make each example a separate entry
        dt-bindings: display: Add SPI peripheral schema to SPI based displays
        scripts/dtc: dtx_diff: remove broken example from help text
        dt-bindings: trivial-devices: fix double spaces in comments
        dt-bindings: trivial-devices: fix swapped comments
        dt-bindings: vendor-prefixes: add Wingtech
        dt-bindings: vendor-prefixes: add Thundercomm
        dt-bindings: vendor-prefixes: add Huawei
        dt-bindings: vendor-prefixes: add F(x)tec
        dt-bindings: vendor-prefixes: add 8devices
        dt-bindings: power: reset: gpio-restart: Correct default priority
      0809edba
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 636b5284
      Linus Torvalds authored
      Pull more kvm updates from Paolo Bonzini:
       "Generic:
      
         - selftest compilation fix for non-x86
      
         - KVM: avoid warning on s390 in mark_page_dirty
      
       x86:
      
         - fix page write-protection bug and improve comments
      
         - use binary search to lookup the PMU event filter, add test
      
         - enable_pmu module parameter support for Intel CPUs
      
         - switch blocked_vcpu_on_cpu_lock to raw spinlock
      
         - cleanups of blocked vCPU logic
      
         - partially allow KVM_SET_CPUID{,2} after KVM_RUN (5.16 regression)
      
         - various small fixes"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (46 commits)
        docs: kvm: fix WARNINGs from api.rst
        selftests: kvm/x86: Fix the warning in lib/x86_64/processor.c
        selftests: kvm/x86: Fix the warning in pmu_event_filter_test.c
        kvm: selftests: Do not indent with spaces
        kvm: selftests: sync uapi/linux/kvm.h with Linux header
        selftests: kvm: add amx_test to .gitignore
        KVM: SVM: Nullify vcpu_(un)blocking() hooks if AVIC is disabled
        KVM: SVM: Move svm_hardware_setup() and its helpers below svm_x86_ops
        KVM: SVM: Drop AVIC's intermediate avic_set_running() helper
        KVM: VMX: Don't do full kick when handling posted interrupt wakeup
        KVM: VMX: Fold fallback path into triggering posted IRQ helper
        KVM: VMX: Pass desired vector instead of bool for triggering posted IRQ
        KVM: VMX: Don't do full kick when triggering posted interrupt "fails"
        KVM: SVM: Skip AVIC and IRTE updates when loading blocking vCPU
        KVM: SVM: Use kvm_vcpu_is_blocking() in AVIC load to handle preemption
        KVM: SVM: Remove unnecessary APICv/AVIC update in vCPU unblocking path
        KVM: SVM: Don't bother checking for "running" AVIC when kicking for IPIs
        KVM: SVM: Signal AVIC doorbell iff vCPU is in guest mode
        KVM: x86: Remove defunct pre_block/post_block kvm_x86_ops hooks
        KVM: x86: Unexport LAPIC's switch_to_{hv,sw}_timer() helpers
        ...
      636b5284