1. 03 Feb, 2022 6 commits
    • Robin Murphy's avatar
      arm64: dts: Add SMMU PMUs to Juno · e0026c2d
      Robin Murphy authored
      
      
      MMU-401 implements a single counter group, with correspondingly a
      single overflow interrupt, which is also muxed into the combined
      interrupt output; the integrations in Juno rely on the latter.
      
      Signed-off-by: Robin Murphy's avatarRobin Murphy <robin.murphy@arm.com>
      e0026c2d
    • Robin Murphy's avatar
      perf: Add ARM SMMU PMU driver · acc1e3ad
      Robin Murphy authored
      
      
      Add a basic driver for the SMMUv2 Performance Monitors Extension. This
      exposes the architecturally-defined events along with a fairly low-level
      interface, based on the relevant register fields, for filtering.
      
      The relationship between Stream ID Groups and Counter Groups, i.e. which
      subsets of events may be visible to which sets of counters, is entirely
      implementation defined and non-discoverable, and attempting to define
      firmware bindings to describe the mappings would be considerable work
      for very little benefit. Thus we expect the user to have the relevant
      implementation knowledge, and explicitly specify the appropriate counter
      group for each desired event.
      
      Signed-off-by: Robin Murphy's avatarRobin Murphy <robin.murphy@arm.com>
      acc1e3ad
    • Robin Murphy's avatar
      iommu/smmu: Create child devices for PMUs · 41cd687e
      Robin Murphy authored
      
      
      Whilst SMMUv3 PMCGs are somewhat free-form, the SMMUv2 PMU has a
      well-defined and closely-coupled relationship with the main SMMU
      interface. This makes it logical for the SMMU driver to be in charge of
      consuming the firmware description and instantiating an abstract PMU
      device directly, obviating the need for independent detection methods.
      
      Signed-off-by: Robin Murphy's avatarRobin Murphy <robin.murphy@arm.com>
      41cd687e
    • Robin Murphy's avatar
      iommu/arm-smmu: Add DT PMU support · c14404f9
      Robin Murphy authored
      
      
      Since IORT describes PMU interrupts rather inflexibly as an inherent
      part of the SMMU, the best way to avoid excessive complexity is to make
      the way we handle DT look as similar as possible. Fortunately the
      de-facto standard for mentioning PMU interrupts at all under the current
      binding has been to include them in the global interrupt count, listing
      them after the actual fault interrupt(s), so we can capitalise on that.
      It's about 9 years too late to redefine "#global-interrupts" to exclude
      anything other than context interrupts without breaking compatibility,
      so we're stuck with a slightly convoluted definition of PMU interrupts
      as an optional subdivision of the "global" interrupts, but it works.
      
      Signed-off-by: Robin Murphy's avatarRobin Murphy <robin.murphy@arm.com>
      
      ---
      
      Not sure whether the count-backwards-from-the-middle nature of "number
      of PMU interrupts" is too ugly and "index of first PMU interrupt" might
      be any better.
      c14404f9
    • Robin Murphy's avatar
      acpi/iort: Register SMMUv2 PMU interrupts · 6e721114
      Robin Murphy authored
      
      
      In preparation for SMMUv2 PMU support, make sure the PMU IRQs are
      parsed out of IORT and registered somewhere the SMMU driver can find
      them. Without making massively invasive changes there aren't many ways
      to achieve this; inserting them into the SMMU's resource list between
      the global and context IRQs is easy enough to cope with in the driver,
      and offers the path of least resistance for the DT binding too.
      
      Signed-off-by: Robin Murphy's avatarRobin Murphy <robin.murphy@arm.com>
      6e721114
    • Robin Murphy's avatar
      iommu/arm-smmu: Account for PMU interrupts · b2a40caa
      Robin Murphy authored
      
      
      In preparation for SMMUv2 PMU support, rejig our IRQ setup code to
      account for PMU interrupts as additional resources. We can simplify the
      whole flow by only storing the context IRQs, since the global IRQs are
      devres-managed and we never refer to them beyond the initial request.
      
      CC: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
      Signed-off-by: Robin Murphy's avatarRobin Murphy <robin.murphy@arm.com>
      b2a40caa
  2. 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.kern...
      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_...
      3689f9f8
  3. 22 Jan, 2022 28 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.cn
      
      
      Signed-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.com
      
      
      Signed-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.com
      
      
      Signed-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.com
      
      
      Signed-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: Chase Conklin's avatarChase Conklin <chase.conklin@arm.com>
      Signed-off-by: German Gomez's 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.com
      
      
      Signed-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.cn
      
      
      Signed-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.com
      
      
      Signed-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.com
      
      
      Signed-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: German Gomez's 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.com
      
      
      Signed-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: def...
      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)blockin...
      636b5284
    • Linus Torvalds's avatar
      Merge tag 'for-5.17/parisc-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · dc5341f4
      Linus Torvalds authored
      Pull more parisc architecture updates from Helge Deller:
       "Fixes and enhancements:
      
         - a memory leak fix in an error path in pdc_stable (Miaoqian Lin)
      
         - two compiler warning fixes in the TOC code
      
         - added autodetection for currently used console type (serial or
           graphics) which inserts console=<type> if it's missing"
      
      * tag 'for-5.17/parisc-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: pdc_stable: Fix memory leak in pdcs_register_pathentries
        parisc: Fix missing prototype for 'toc_intr' warning in toc.c
        parisc: Autodetect default output device and set console= kernel parameter
        parisc: Use safer strscpy() in setup_cmdline()
        parisc: Add visible flag to toc_stack variable
      dc5341f4
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-5.17-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · 7867e402
      Linus Torvalds authored
      Pull more RISC-V updates from Palmer Dabbelt:
      
       - Support for sv48 paging
      
       - Hart ID mappings are now sparse, which enables more CPUs to come up
         on systems with sparse hart IDs
      
       - A handful of cleanups and fixes
      
      * tag 'riscv-for-linus-5.17-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: (27 commits)
        RISC-V: nommu_virt: Drop unused SLAB_MERGE_DEFAULT
        RISC-V: Remove redundant err variable
        riscv: dts: sifive unmatched: Add gpio poweroff
        riscv: canaan: remove useless select of non-existing config SYSCON
        RISC-V: Do not use cpumask data structure for hartid bitmap
        RISC-V: Move spinwait booting method to its own config
        RISC-V: Move the entire hart selection via lottery to SMP
        RISC-V: Use __cpu_up_stack/task_pointer only for spinwait method
        RISC-V: Do not print the SBI version during HSM extension boot print
        RISC-V: Avoid using per cpu array for ordered booting
        riscv: default to CONFIG_RISCV_SBI_V01=n
        riscv: fix boolconv.cocci warnings
        riscv: Explicit comment about user virtual address space size
        riscv: Use pgtable_l4_enabled to output mmu_type in cpuinfo
        riscv: Implement sv48 support
        asm-generic: Prepare for riscv use of pud_alloc_one and pud_free
        riscv: Allow to dynamically define VA_BITS
        riscv: Introduce functions to switch pt_ops
        riscv: Split early kasan mapping to prepare sv48 introduction
        riscv: Move KASAN mapping next to the kernel mapping
        ...
      7867e402
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · b21bae9a
      Linus Torvalds authored
      Pull arm64 fixes/cleanups from Catalin Marinas:
       "Some fixes that turned up during the merge window:
      
         - Add brackets to the io_stop_wc macro
      
         - Avoid -Warray-bounds warning with the LSE atomics inline asm
      
         - Apply __ro_after_init to memory_limit"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: mm: apply __ro_after_init to memory_limit
        arm64: atomics: lse: Dereference matching size
        asm-generic: Add missing brackets for io_stop_wc macro
      b21bae9a
    • Linus Torvalds's avatar
      Merge tag 'docs-5.17-2' of git://git.lwn.net/linux · 0854dc81
      Linus Torvalds authored
      Pull documentation fixes from Jonathan Corbet:
       "Three small documentation fixes"
      
      * tag 'docs-5.17-2' of git://git.lwn.net/linux:
        Documentation: fix firewire.rst ABI file path error
        docs: ftrace: fix ambiguous sentence
        docs: staging/tee.rst: fix two typos found while reading
      0854dc81