1. 03 Jun, 2022 34 commits
    • Zhengjun Xing's avatar
      perf vendor events intel: Add metrics for Sapphirerapids · 12265782
      Zhengjun Xing authored
      Add JSON metrics for Sapphirerapids to perf.
      
      Based on TMA4.4 metrics.
      
      https://download.01.org/perfmon/TMA_Metrics-full.csvSigned-off-by: default avatarZhengjun Xing <zhengjun.xing@linux.intel.com>
      Tested-by: default avatarIan Rogers <irogers@google.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Alexander Shishkin <alexander.shishkin@intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Kan Liang <kan.liang@linux.intel.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: https://lore.kernel.org/r/20220528095933.1784141-1-zhengjun.xing@linux.intel.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      12265782
    • Leo Yan's avatar
      perf c2c: Fix sorting in percent_rmt_hitm_cmp() · b24192a1
      Leo Yan authored
      The function percent_rmt_hitm_cmp() wrongly uses local HITMs for
      sorting remote HITMs.
      
      Since this function is to sort cache lines for remote HITMs, this patch
      changes to use 'rmt_hitm' field for correct sorting.
      
      Fixes: 9cb3500a ("perf c2c report: Add hitm/store percent related sort keys")
      Signed-off-by: default avatarLeo Yan <leo.yan@linaro.org>
      Acked-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Joe Mario <jmario@redhat.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: https://lore.kernel.org/r/20220530084253.750190-1-leo.yan@linaro.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      b24192a1
    • Leo Yan's avatar
      perf mem: Trace physical address for Arm SPE events · 62e6eb8d
      Leo Yan authored
      Currently, Arm SPE events don't trace physical address, therefore, the
      field 'phys_addr' is always zero in synthesized memory samples.  This
      leads to perf c2c tool cannot locate the memory node for samples.
      
      This patch enables configuration 'pa_enable' for Arm SPE events, so the
      physical address packet can be traced, finally this can allow perf c2c
      tool to locate properly for memory node.
      Signed-off-by: default avatarLeo Yan <leo.yan@linaro.org>
      Acked-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: German Gomez <german.gomez@arm.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: James Clark <james.clark@arm.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: John Garry <john.garry@huawei.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Mike Leach <mike.leach@linaro.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Will Deacon <will@kernel.org>
      Cc: linux-arm-kernel@lists.infradead.org
      Link: https://lore.kernel.org/r/20220530083645.253432-1-leo.yan@linaro.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      62e6eb8d
    • Thomas Richter's avatar
      perf list: Update event description for IBM zEC12/zBC12 to latest level · 882f5424
      Thomas Richter authored
      Update IBM zEC12/zBC12 event counter description to the latest level
      as described in the documents
      1. SA23-2260-07:
         "The Load-Program-Parameter and the CPU-Measurement Facilities."
         released on May, 2022
      for the following counter sets:
         * Basic counter set
         * Problem counter set
         * Crypto counter set
      
      2. SA23-2261-07:
         "The CPU-Measurement Facility Extended Counters Definition
         for z10, z196/z114, zEC12/zBC12, z13/z13s, z14, z15 and z16"
         released on April 29, 2022
      for the following counter sets:
         * Extended counter set
         * MT-Diagnostic counter set
      Signed-off-by: default avatarThomas Richter <tmricht@linux.ibm.com>
      Acked-by: default avatarSumanth Korikkar <sumanthk@linux.ibm.com>
      Acked-by: default avatarIan Rogers <irogers@google.com>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Link: https://lore.kernel.org/r/20220531092706.1931503-7-tmricht@linux.ibm.com
      Cc: acme@kernel.org
      Cc: gor@linux.ibm.com
      Cc: hca@linux.ibm.com
      Cc: svens@linux.ibm.com
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-perf-users@vger.kernel.org
      882f5424
    • Thomas Richter's avatar
      perf list: Update event description for IBM z196/z114 to latest level · dfeab63a
      Thomas Richter authored
      Update IBM z196/z114 event counter description to the latest level
      as described in the documents
      1. SA23-2260-07:
         "The Load-Program-Parameter and the CPU-Measurement Facilities."
         released on May, 2022
      for the following counter sets:
         * Basic counter set
         * Problem counter set
         * Crypto counter set
      
      2. SA23-2261-07:
         "The CPU-Measurement Facility Extended Counters Definition
          for z10, z196/z114, zEC12/zBC12, z13/z13s, z14, z15 and z16"
      released on April 29, 2022
      for the following counter sets:
         * Extended counter set
         * MT-Diagnostic counter set
      Signed-off-by: default avatarThomas Richter <tmricht@linux.ibm.com>
      Acked-by: default avatarSumanth Korikkar <sumanthk@linux.ibm.com>
      Acked-by: default avatarIan Rogers <irogers@google.com>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Link: https://lore.kernel.org/r/20220531092706.1931503-6-tmricht@linux.ibm.com
      Cc: acme@kernel.org
      Cc: gor@linux.ibm.com
      Cc: hca@linux.ibm.com
      Cc: svens@linux.ibm.com
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-perf-users@vger.kernel.org
      dfeab63a
    • Thomas Richter's avatar
      perf list: Update event description for IBM z15 to latest level · d1833463
      Thomas Richter authored
      Update IBM z15 event counter description to the latest level
      as described in the documents
      1. SA23-2260-07:
         "The Load-Program-Parameter and the CPU-Measurement Facilities."
         released on May, 2022
      for the following counter sets:
         * Basic counter set
         * Problem counter set
         * Crypto counter set
      
      2. SA23-2261-07:
         "The CPU-Measurement Facility Extended Counters Definition
         for z10, z196/z114, zEC12/zBC12, z13/z13s, z14, z15 and z16"
         released on April 29, 2022
      for the following counter sets:
         * Extended counter set
         * MT-Diagnostic counter set
      Signed-off-by: default avatarThomas Richter <tmricht@linux.ibm.com>
      Acked-by: default avatarSumanth Korikkar <sumanthk@linux.ibm.com>
      Acked-by: default avatarIan Rogers <irogers@google.com>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Link: https://lore.kernel.org/r/20220531092706.1931503-5-tmricht@linux.ibm.com
      Cc: acme@kernel.org
      Cc: gor@linux.ibm.com
      Cc: hca@linux.ibm.com
      Cc: svens@linux.ibm.com
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-perf-users@vger.kernel.org
      d1833463
    • Thomas Richter's avatar
      perf list: Update event description for IBM z14 to latest level · d786bdf2
      Thomas Richter authored
      Update IBM z14 event counter description to the latest level
      as described in the documents
      1. SA23-2260-07:
         "The Load-Program-Parameter and the CPU-Measurement Facilities."
         released on May, 2022
      for the following counter sets:
        * Basic counter set
        * Problem counter set
        * Crypto counter set
      
      2. SA23-2261-07:
         "The CPU-Measurement Facility Extended Counters Definition
          for z10, z196/z114, zEC12/zBC12, z13/z13s, z14, z15 and z16"
          released on April 29, 2022
      for the following counter sets:
        * Extended counter set
        * MT-Diagnostic counter set
      Signed-off-by: default avatarThomas Richter <tmricht@linux.ibm.com>
      Acked-by: default avatarSumanth Korikkar <sumanthk@linux.ibm.com>
      Acked-by: default avatarIan Rogers <irogers@google.com>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Link: https://lore.kernel.org/r/20220531092706.1931503-4-tmricht@linux.ibm.com
      Cc: acme@kernel.org
      Cc: gor@linux.ibm.com
      Cc: hca@linux.ibm.com
      Cc: svens@linux.ibm.com
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-perf-users@vger.kernel.org
      d786bdf2
    • Thomas Richter's avatar
      perf list: Update event description for IBM z13 to latest level · e9c26fd6
      Thomas Richter authored
      Update IBM z13 event counter description to the latest level
      as described in the documents
      1. SA23-2260-07:
         "The Load-Program-Parameter and the CPU-Measurement Facilities."
         released on May, 2022
      for the following counter sets:
        * Basic counter set
        * Problem counter set
        * Crypto counter set
      
      2. SA23-2261-07:
         "The CPU-Measurement Facility Extended Counters Definition
          for z10, z196/z114, zEC12/zBC12, z13/z13s, z14, z15 and z16"
          released on April 29, 2022
      for the following counter sets:
        * Extended counter set
        * MT-Diagnostic counter set
      Signed-off-by: default avatarThomas Richter <tmricht@linux.ibm.com>
      Acked-by: default avatarSumanth Korikkar <sumanthk@linux.ibm.com>
      Acked-by: default avatarIan Rogers <irogers@google.com>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Link: https://lore.kernel.org/r/20220531092706.1931503-3-tmricht@linux.ibm.com
      Cc: acme@kernel.org
      Cc: gor@linux.ibm.com
      Cc: hca@linux.ibm.com
      Cc: svens@linux.ibm.com
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-perf-users@vger.kernel.org
      e9c26fd6
    • Thomas Richter's avatar
      perf list: Update event description for IBM z10 to latest level · f71a261a
      Thomas Richter authored
      Update IBM z10 event counter description to the latest level
      as described in the documents
      1. SA23-2260-07:
         "The Load-Program-Parameter and the CPU-Measurement Facilities."
         released on May, 2022
      for the following counter sets:
        * Basic counter set
        * Problem counter set
        * Crypto counter set
      
      2. SA23-2261-07:
         "The CPU-Measurement Facility Extended Counters Definition
          for z10, z196/z114, zEC12/zBC12, z13/z13s, z14, z15 and z16"
          released on April 29, 2022
      for the following counter sets:
        * Extended counter set
        * MT-Diagnostic counter set
      Signed-off-by: default avatarThomas Richter <tmricht@linux.ibm.com>
      Acked-by: default avatarSumanth Korikkar <sumanthk@linux.ibm.com>
      Acked-by: default avatarIan Rogers <irogers@google.com>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Link: https://lore.kernel.org/r/20220531092706.1931503-2-tmricht@linux.ibm.com
      Cc: acme@kernel.org
      Cc: gor@linux.ibm.com
      Cc: hca@linux.ibm.com
      Cc: svens@linux.ibm.com
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-perf-users@vger.kernel.org
      f71a261a
    • Thomas Richter's avatar
      perf list: Add IBM z16 event description for s390 · 7f76b311
      Thomas Richter authored
      Update IBM z16 counter description using document SA23-2260-07:
      "The Load-Program-Parameter and the CPU-Measurement Facilities"
      released in May, 2022, to include counter definitions for IBM z16
      counter sets:
        * Basic counter set
        * Problem/user counter set
        * Crypto counter set
      
      Use document SA23-2261-07:
      "The CPU-Measurement Facility Extended Counters Definition
       for z10, z196/z114, zEC12/zBC12, z13/z13s, z14, z15 and z16"
      released on April 29, 2022 to include counter definitions for IBM z16
        * Extended counter set
        * MT-Diagnostic counter set
      Signed-off-by: default avatarThomas Richter <tmricht@linux.ibm.com>
      Acked-by: default avatarSumanth Korikkar <sumanthk@linux.ibm.com>
      Acked-by: default avatarIan Rogers <irogers@google.com>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Link: https://lore.kernel.org/r/20220531092706.1931503-1-tmricht@linux.ibm.com
      Cc: acme@kernel.org
      Cc: gor@linux.ibm.com
      Cc: hca@linux.ibm.com
      Cc: svens@linux.ibm.com
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-perf-users@vger.kernel.org
      7f76b311
    • Zhengjun Xing's avatar
      perf record: Support sample-read topdown metric group for hybrid platforms · 151e7d75
      Zhengjun Xing authored
      With the hardware TopDown metrics feature, the sample-read feature should
      be supported for a TopDown group, e.g., sample a non-topdown event and read
      a Topdown metric group. But the current perf record code errors are out.
      
      For a TopDown metric group,the slots event must be the leader of the group,
      but the leader slots event doesn't support sampling. To support sample-read
      the TopDown metric group, uses the 2nd event of the group as the "leader"
      for the purposes of sampling.
      
      Only the platform with the TopDown metric feature supports sample-read the
      topdown group. In commit acb65150 ("perf record: Support sample-read
      topdown metric group"), it adds arch_topdown_sample_read() to indicate
      whether the TopDown group supports sample-read, it should only work on the
      non-hybrid systems, this patch extends the support for hybrid platforms.
      
      Before:
      
        # ./perf record -e "{cpu_core/slots/,cpu_core/cycles/,cpu_core/topdown-retiring/}:S" -a sleep 1
        Error:
        The sys_perf_event_open() syscall returned with 22 (Invalid argument) for event (cpu_core/topdown-retiring/).
        /bin/dmesg | grep -i perf may provide additional information.
      
      After:
      
        # ./perf record -e "{cpu_core/slots/,cpu_core/cycles/,cpu_core/topdown-retiring/}:S" -a sleep 1
        [ perf record: Woken up 1 times to write data ]
        [ perf record: Captured and wrote 0.238 MB perf.data (369 samples) ]
      
      Fixes: acb65150 ("perf record: Support sample-read topdown metric group")
      Reviewed-by: default avatarKan Liang <kan.liang@linux.intel.com>
      Signed-off-by: default avatarZhengjun Xing <zhengjun.xing@linux.intel.com>
      Acked-by: default avatarIan Rogers <irogers@google.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Alexander Shishkin <alexander.shishkin@intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: https://lore.kernel.org/r/20220602153603.1884710-1-zhengjun.xing@linux.intel.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      151e7d75
    • Namhyung Kim's avatar
      perf lock: Change to synthesize task events · 2762c488
      Namhyung Kim authored
      With -t/--threads option, it needs to display task names so synthesize
      task related events at the beginning.
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Acked-by: default avatarIan Rogers <irogers@google.com>
      Cc: Boqun Feng <boqun.feng@gmail.com>
      Cc: Davidlohr Bueso <dave@stgolabs.net>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Waiman Long <longman@redhat.com>
      Cc: Will Deacon <will@kernel.org>
      Fixes: 7c3bcbdf ("perf lock: Add -t/--thread option for report")
      Link: http://lore.kernel.org/lkml/20220601065846.456965-2-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      2762c488
    • Fangrui Song's avatar
      perf unwind: Fix segbase for ld.lld linked objects · dc2cf4ca
      Fangrui Song authored
      segbase is the address of .eh_frame_hdr and table_data is segbase plus
      the header size. find_proc_info computes segbase as `map->start +
      segbase - map->pgoff` which is wrong when
      
      * .eh_frame_hdr and .text are in different PT_LOAD program headers
      * and their p_vaddr difference does not equal their p_offset difference
      
      Since 10.0, ld.lld's default --rosegment -z noseparate-code layout has
      such R and RX PT_LOAD program headers.
      
          ld.lld (default) => perf report fails to unwind `perf record
          --call-graph dwarf` recorded data
          ld.lld --no-rosegment => ok (trivial, no R PT_LOAD)
          ld.lld -z separate-code => ok but by luck: there are two PT_LOAD but
          their p_vaddr difference equals p_offset difference
      
          ld.bfd -z noseparate-code => ok (trivial, no R PT_LOAD)
          ld.bfd -z separate-code (default for Linux/x86) => ok but by luck:
          there are two PT_LOAD but their p_vaddr difference equals p_offset
          difference
      
      To fix the issue, compute segbase as dso's base address plus
      PT_GNU_EH_FRAME's p_vaddr. The base address is computed by iterating
      over all dso-associated maps and then subtract the first PT_LOAD p_vaddr
      (the minimum guaranteed by generic ABI) from the minimum address.
      
      In libunwind, find_proc_info transitively called by unw_step is cached,
      so the iteration overhead is acceptable.
      Reported-by: default avatarSebastian Ullrich <sebasti@nullri.ch>
      Reviewed-by: default avatarIan Rogers <irogers@google.com>
      Signed-off-by: default avatarFangrui Song <maskray@google.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: llvm@lists.linux.dev
      Link: https://github.com/ClangBuiltLinux/linux/issues/1646
      Link: https://lore.kernel.org/r/20220527182039.673248-1-maskray@google.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      dc2cf4ca
    • German Gomez's avatar
      perf test arm-spe: Check if perf-record hangs when recording workload with forks · 4f52ca13
      German Gomez authored
      Add shell test to check if perf-record hangs when recording an arm_spe
      event with forks.
      
      The test FAILS if the Kernel is not patched with Commit 961c3912 ("perf:
      Always wake the parent event").
      
      Unpatched Kernel:
      
        $ perf test -v 90
        90: Check Arm SPE doesn't hang when there are forks
        --- start ---
        test child forked, pid 14232
        Recording workload with fork
        Log lines = 90 /tmp/__perf_test.stderr.0Nu0U
        Log lines after 1 second = 90 /tmp/__perf_test.stderr.0Nu0U
        SPE hang test: FAIL
        test child finished with -1
        ---- end ----
        Check Arm SPE trace data in workload with forks: FAILED!
      
      Patched Kernel:
      
        $ perf test -v 90
        90: Check Arm SPE doesn't hang when there are forks
        --- start ---
        test child forked, pid 2930
        Compiling test program...
        Recording workload...
        Log lines = 478 /tmp/__perf_test.log.026AI
        Log lines after 1 second = 557 /tmp/__perf_test.log.026AI
        SPE hang test: PASS
        Cleaning up files...
        test child finished with 0
        ---- end ----
        Check Arm SPE trace data in workload with forks: Ok
      Reviewed-by: default avatarJames Clark <james.clark@arm.com>
      Reviewed-by: default avatarLeo Yan <leo.yan@linaro.org>
      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: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: https://lore.kernel.org/r/20220228165655.3920-1-german.gomez@arm.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      4f52ca13
    • Ian Rogers's avatar
      perf docs: Correct typo of event_sources · 8db43088
      Ian Rogers authored
      The sysfs directory is called event_source.
      
      Before:
      
        $ ls -la /sys/bus/event_sources/devices/cpu/format/
        ls: cannot access '/sys/bus/event_sources/devices/cpu/format/': No such file or directory
        $
      
      After:
      
        $ ls -la /sys/bus/event_source/devices/cpu/format/
        total 0
        drwxr-xr-x. 2 root root    0 Jun  2 15:36 .
        drwxr-xr-x. 6 root root    0 Jun  2 15:35 ..
        -r--r--r--. 1 root root 4096 Jun  2 15:36 any
        -r--r--r--. 1 root root 4096 Jun  2 15:36 cmask
        -r--r--r--. 1 root root 4096 Jun  2 15:36 edge
        -r--r--r--. 1 root root 4096 Jun  2 15:36 event
        -r--r--r--. 1 root root 4096 Jun  2 15:36 frontend
        -r--r--r--. 1 root root 4096 Jun  2 15:36 inv
        -r--r--r--. 1 root root 4096 Jun  2 15:36 ldlat
        -r--r--r--. 1 root root 4096 Jun  2 15:36 offcore_rsp
        -r--r--r--. 1 root root 4096 Jun  2 15:36 pc
        -r--r--r--. 1 root root 4096 Jun  2 15:36 umask
        $
      Reviewed-by: default avatarSandipan Das <sandipan.das@amd.com>
      Signed-off-by: default avatarIan Rogers <irogers@google.com>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Alexey Bayduraev <alexey.v.bayduraev@linux.intel.com>
      Cc: Alyssa Ross <hi@alyssa.is>
      Cc: German Gomez <german.gomez@arm.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Jin Yao <yao.jin@linux.intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Joshua Martinez <joshuamart@google.com>
      Cc: Kan Liang <kan.liang@linux.intel.com>
      Cc: Like Xu <likexu@tencent.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Zhengjun Xing <zhengjun.xing@linux.intel.com>
      Link: https://lore.kernel.org/r/20220603045744.2815559-1-irogers@google.comReported-by: default avatarKevin Nomura <nomurak@google.com>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      8db43088
    • Zhengjun Xing's avatar
      perf evlist: Extend arch_evsel__must_be_in_group to support hybrid systems · e69a5c01
      Zhengjun Xing authored
      For the hybrid system, the "slots" event changes to "cpu_core/slots/", need
      extend API arch_evsel__must_be_in_group() to support hybrid systems.
      
      In the origin code, for hybrid system event "cpu_core/slots/", the output
      of the API arch_evsel__must_be_in_group() is "false" (in fact,it should be
      "true"). Currently only one API evsel__remove_from_group() calls it. In
      evsel__remove_from_group(), it adds the second condition to check, so the
      output of evsel__remove_from_group() still is correct. That's the reason
      why there isn't an instant error. I'd like to fix the issue found in API
      arch_evsel__must_be_in_group() in case someone else using the function in
      the other place.
      
      Fixes: d98079c0 ("perf evlist: Keep topdown counters in weak group")
      Signed-off-by: default avatarZhengjun Xing <zhengjun.xing@linux.intel.com>
      Reviewed-by: default avatarKan Liang <kan.liang@linux.intel.com>
      Acked-by: default avatarIan Rogers <irogers@google.com>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Link: https://lore.kernel.org/r/20220601152544.1842447-1-zhengjun.xing@linux.intel.com
      Cc: peterz@infradead.org
      Cc: adrian.hunter@intel.com
      Cc: alexander.shishkin@intel.com
      Cc: acme@kernel.org
      Cc: ak@linux.intel.com
      Cc: jolsa@redhat.com
      Cc: mingo@redhat.com
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-perf-users@vger.kernel.org
      e69a5c01
    • Saravana Kannan's avatar
      driver core: Set default deferred_probe_timeout back to 0. · 9be4cbd0
      Saravana Kannan authored
      Since we had to effectively reverted
      commit 35a67236 ("driver core: Ensure wait_for_device_probe() waits
      until the deferred_probe_timeout fires") in an earlier patch, a non-zero
      deferred_probe_timeout will break NFS rootfs mounting [1] again. So, set
      the default back to zero until we can fix that.
      
      [1] - https://lore.kernel.org/lkml/TYAPR01MB45443DF63B9EF29054F7C41FD8C60@TYAPR01MB4544.jpnprd01.prod.outlook.com/
      
      Fixes: 2b28a1a8 ("driver core: Extend deferred probe timeout on driver registration")
      Cc: Mark Brown <broonie@kernel.org>
      Cc: Rob Herring <robh@kernel.org>
      Reported-by: default avatarNathan Chancellor <nathan@kernel.org>
      Reported-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Tested-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
      Signed-off-by: default avatarSaravana Kannan <saravanak@google.com>
      Link: https://lore.kernel.org/r/20220526034609.480766-3-saravanak@google.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9be4cbd0
    • Saravana Kannan's avatar
      driver core: Fix wait_for_device_probe() & deferred_probe_timeout interaction · 5ee76c25
      Saravana Kannan authored
      Mounting NFS rootfs was timing out when deferred_probe_timeout was
      non-zero [1].  This was because ip_auto_config() initcall times out
      waiting for the network interfaces to show up when
      deferred_probe_timeout was non-zero. While ip_auto_config() calls
      wait_for_device_probe() to make sure any currently running deferred
      probe work or asynchronous probe finishes, that wasn't sufficient to
      account for devices being deferred until deferred_probe_timeout.
      
      Commit 35a67236 ("driver core: Ensure wait_for_device_probe() waits
      until the deferred_probe_timeout fires") tried to fix that by making
      sure wait_for_device_probe() waits for deferred_probe_timeout to expire
      before returning.
      
      However, if wait_for_device_probe() is called from the kernel_init()
      context:
      
      - Before deferred_probe_initcall() [2], it causes the boot process to
        hang due to a deadlock.
      
      - After deferred_probe_initcall() [3], it blocks kernel_init() from
        continuing till deferred_probe_timeout expires and beats the point of
        deferred_probe_timeout that's trying to wait for userspace to load
        modules.
      
      Neither of this is good. So revert the changes to
      wait_for_device_probe().
      
      [1] - https://lore.kernel.org/lkml/TYAPR01MB45443DF63B9EF29054F7C41FD8C60@TYAPR01MB4544.jpnprd01.prod.outlook.com/
      [2] - https://lore.kernel.org/lkml/YowHNo4sBjr9ijZr@dev-arch.thelio-3990X/
      [3] - https://lore.kernel.org/lkml/Yo3WvGnNk3LvLb7R@linutronix.de/
      
      Fixes: 35a67236 ("driver core: Ensure wait_for_device_probe() waits until the deferred_probe_timeout fires")
      Cc: John Stultz <jstultz@google.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
      Cc: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
      Cc: Jakub Kicinski <kuba@kernel.org>
      Cc: Rob Herring <robh@kernel.org>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
      Cc: Robin Murphy <robin.murphy@arm.com>
      Cc: Andy Shevchenko <andy.shevchenko@gmail.com>
      Cc: Sudeep Holla <sudeep.holla@arm.com>
      Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
      Cc: Naresh Kamboju <naresh.kamboju@linaro.org>
      Cc: Basil Eljuse <Basil.Eljuse@arm.com>
      Cc: Ferry Toth <fntoth@gmail.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Anders Roxell <anders.roxell@linaro.org>
      Cc: linux-pm@vger.kernel.org
      Reported-by: default avatarNathan Chancellor <nathan@kernel.org>
      Reported-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Tested-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
      Acked-by: default avatarJohn Stultz <jstultz@google.com>
      Signed-off-by: default avatarSaravana Kannan <saravanak@google.com>
      Link: https://lore.kernel.org/r/20220526034609.480766-2-saravanak@google.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Reviewed-by: default avatarRafael J. Wysocki <rafael@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5ee76c25
    • Linus Torvalds's avatar
      Merge tag 'driver-core-5.19-rc1' of... · 500a434f
      Linus Torvalds authored
      Merge tag 'driver-core-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
      
      Pull driver core updates from Greg KH:
       "Here is the set of driver core changes for 5.19-rc1.
      
        Lots of tiny driver core changes and cleanups happened this cycle, but
        the two major things are:
      
         - firmware_loader reorganization and additions including the ability
           to have XZ compressed firmware images and the ability for userspace
           to initiate the firmware load when it needs to, instead of being
           always initiated by the kernel. FPGA devices specifically want this
           ability to have their firmware changed over the lifetime of the
           system boot, and this allows them to work without having to come up
           with yet-another-custom-uapi interface for loading firmware for
           them.
      
         - physical location support added to sysfs so that devices that know
           this information, can tell userspace where they are located in a
           common way. Some ACPI devices already support this today, and more
           bus types should support this in the future.
      
        Smaller changes include:
      
         - driver_override api cleanups and fixes
      
         - error path cleanups and fixes
      
         - get_abi script fixes
      
         - deferred probe timeout changes.
      
        It's that last change that I'm the most worried about. It has been
        reported to cause boot problems for a number of systems, and I have a
        tested patch series that resolves this issue. But I didn't get it
        merged into my tree before 5.18-final came out, so it has not gotten
        any linux-next testing.
      
        I'll send the fixup patches (there are 2) as a follow-on series to this
        pull request.
      
        All have been tested in linux-next for weeks, with no reported issues
        other than the above-mentioned boot time-outs"
      
      * tag 'driver-core-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (55 commits)
        driver core: fix deadlock in __device_attach
        kernfs: Separate kernfs_pr_cont_buf and rename_lock.
        topology: Remove unused cpu_cluster_mask()
        driver core: Extend deferred probe timeout on driver registration
        MAINTAINERS: add Russ Weight as a firmware loader maintainer
        driver: base: fix UAF when driver_attach failed
        test_firmware: fix end of loop test in upload_read_show()
        driver core: location: Add "back" as a possible output for panel
        driver core: location: Free struct acpi_pld_info *pld
        driver core: Add "*" wildcard support to driver_async_probe cmdline param
        driver core: location: Check for allocations failure
        arch_topology: Trace the update thermal pressure
        kernfs: Rename kernfs_put_open_node to kernfs_unlink_open_file.
        export: fix string handling of namespace in EXPORT_SYMBOL_NS
        rpmsg: use local 'dev' variable
        rpmsg: Fix calling device_lock() on non-initialized device
        firmware_loader: describe 'module' parameter of firmware_upload_register()
        firmware_loader: Move definitions from sysfs_upload.h to sysfs.h
        firmware_loader: Fix configs for sysfs split
        selftests: firmware: Add firmware upload selftests
        ...
      500a434f
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 6f9b5ed8
      Linus Torvalds authored
      Pull char / misc / other smaller driver subsystem updates from Greg KH:
       "Here is the large set of char, misc, and other driver subsystem
        updates for 5.19-rc1. The merge request for this has been delayed as I
        wanted to get lots of linux-next testing due to some late arrivals of
        changes for the habannalabs driver.
      
        Highlights of this merge are:
      
         - habanalabs driver updates for new hardware types and fixes and
           other updates
      
         - IIO driver tree merge which includes loads of new IIO drivers and
           cleanups and additions
      
         - PHY driver tree merge with new drivers and small updates to
           existing ones
      
         - interconnect driver tree merge with fixes and updates
      
         - soundwire driver tree merge with some small fixes
      
         - coresight driver tree merge with small fixes and updates
      
         - mhi bus driver tree merge with lots of updates and new device
           support
      
         - firmware driver updates
      
         - fpga driver updates
      
         - lkdtm driver updates (with a merge conflict, more on that below)
      
         - extcon driver tree merge with small updates
      
         - lots of other tiny driver updates and fixes and cleanups, full
           details in the shortlog.
      
        All of these have been in linux-next for almost 2 weeks with no
        reported problems"
      
      * tag 'char-misc-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (387 commits)
        habanalabs: use separate structure info for each error collect data
        habanalabs: fix missing handle shift during mmap
        habanalabs: remove hdev from hl_ctx_get args
        habanalabs: do MMU prefetch as deferred work
        habanalabs: order memory manager messages
        habanalabs: return -EFAULT on copy_to_user error
        habanalabs: use NULL for eventfd
        habanalabs: update firmware header
        habanalabs: add support for notification via eventfd
        habanalabs: add topic to memory manager buffer
        habanalabs: handle race in driver fini
        habanalabs: add device memory scrub ability through debugfs
        habanalabs: use unified memory manager for CB flow
        habanalabs: unified memory manager new code for CB flow
        habanalabs/gaudi: set arbitration timeout to a high value
        habanalabs: add put by handle method to memory manager
        habanalabs: hide memory manager page shift
        habanalabs: Add separate poll interval value for protocol
        habanalabs: use get_task_pid() to take PID
        habanalabs: add prefetch flag to the MAP operation
        ...
      6f9b5ed8
    • Linus Torvalds's avatar
      Merge tag 'usb-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 54c2cc79
      Linus Torvalds authored
      Pull USB / Thunderbolt updates from Greg KH:
       "Here is the "big" set of USB and Thunderbolt driver changes for
        5.18-rc1. For the most part it's been a quiet development cycle for
        the USB core, but there are the usual "hot spots" of development
        activity.
      
        Included in here are:
      
         - Thunderbolt driver updates:
             - fixes for devices without displayport adapters
             - lane bonding support and improvements
             - other minor changes based on device testing
      
         - dwc3 gadget driver changes.
      
           It seems this driver will never be finished given that the IP core
           is showing up in zillions of new devices and each implementation
           decides to do something different with it...
      
         - uvc gadget driver updates as more devices start to use and rely on
           this hardware as well
      
         - usb_maxpacket() api changes to remove an unneeded and unused
           parameter.
      
         - usb-serial driver device id updates and small cleanups
      
         - typec cleanups and fixes based on device testing
      
         - device tree updates for usb properties
      
         - lots of other small fixes and driver updates.
      
        All of these have been in linux-next for weeks with no reported
        problems"
      
      * tag 'usb-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (154 commits)
        USB: new quirk for Dell Gen 2 devices
        usb: dwc3: core: Add error log when core soft reset failed
        usb: dwc3: gadget: Move null pinter check to proper place
        usb: hub: Simplify error and success path in port_over_current_notify
        usb: cdns3: allocate TX FIFO size according to composite EP number
        usb: dwc3: Fix ep0 handling when getting reset while doing control transfer
        usb: Probe EHCI, OHCI controllers asynchronously
        usb: isp1760: Fix out-of-bounds array access
        xhci: Don't defer primary roothub registration if there is only one roothub
        USB: serial: option: add Quectel BG95 modem
        USB: serial: pl2303: fix type detection for odd device
        xhci: Allow host runtime PM as default for Intel Alder Lake N xHCI
        xhci: Remove quirk for over 10 year old evaluation hardware
        xhci: prevent U2 link power state if Intel tier policy prevented U1
        xhci: use generic command timer for stop endpoint commands.
        usb: host: xhci-plat: omit shared hcd if either root hub has no ports
        usb: host: xhci-plat: prepare operation w/o shared hcd
        usb: host: xhci-plat: create shared hcd after having added main hcd
        xhci: prepare for operation w/o shared hcd
        xhci: factor out parts of xhci_gen_setup()
        ...
      54c2cc79
    • Linus Torvalds's avatar
      Merge tag 'tty-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 932c2989
      Linus Torvalds authored
      Pull tty and serial driver updates from Greg KH:
       "Here is the big set of tty and serial driver updates for 5.19-rc1.
      
        Lots of tiny cleanups in here, the major stuff is:
      
         - termbit cleanups and unification by Ilpo. A much needed change that
           goes a long way to making things simpler for all of the different
           arches
      
         - tty documentation cleanups and movements to their own place in the
           documentation tree
      
         - old tty driver cleanups and fixes from Jiri to bring some existing
           drivers into the modern world
      
         - RS485 cleanups and unifications to make it easier for individual
           drivers to support this mode instead of having to duplicate logic
           in each driver
      
         - Lots of 8250 driver updates and additions
      
         - new device id additions
      
         - n_gsm continued fixes and cleanups
      
         - other minor serial driver updates and cleanups
      
        All of these have been in linux-next for weeks with no reported issues"
      
      * tag 'tty-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (166 commits)
        tty: Rework receive flow control char logic
        pcmcia: synclink_cs: Don't allow CS5-6
        serial: stm32-usart: Correct CSIZE, bits, and parity
        serial: st-asc: Sanitize CSIZE and correct PARENB for CS7
        serial: sifive: Sanitize CSIZE and c_iflag
        serial: sh-sci: Don't allow CS5-6
        serial: txx9: Don't allow CS5-6
        serial: rda-uart: Don't allow CS5-6
        serial: digicolor-usart: Don't allow CS5-6
        serial: uartlite: Fix BRKINT clearing
        serial: cpm_uart: Fix build error without CONFIG_SERIAL_CPM_CONSOLE
        serial: core: Do stop_rx in suspend path for console if console_suspend is disabled
        tty: serial: qcom-geni-serial: Remove uart frequency table. Instead, find suitable frequency with call to clk_round_rate.
        dt-bindings: serial: renesas,em-uart: Add RZ/V2M clock to access the registers
        serial: 8250_fintek: Check SER_RS485_RTS_* only with RS485
        Revert "serial: 8250_mtk: Make sure to select the right FEATURE_SEL"
        serial: msm_serial: disable interrupts in __msm_console_write()
        serial: meson: acquire port->lock in startup()
        serial: 8250_dw: Use dev_err_probe()
        serial: 8250_dw: Use devm_add_action_or_reset()
        ...
      932c2989
    • Linus Torvalds's avatar
      Merge tag 'staging-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 4ad680f0
      Linus Torvalds authored
      Pull staging driver updates from Greg KH:
       "Here is the big set of staging driver updates for 5.19-rc1.
      
        Lots of forward progress happened this development cycle, one driver
        (wfx wireless driver) got merged into the real portion of the kernel,
        and another one (unisys) was removed as no one is around anymore to
        take care of it and no one has the hardware. Combined with loads of
        tiny driver cleanups overall we removed 13k lines of code from the
        tree, a nice improvement.
      
        Other than the wfx and unisys driver changes the major points of this
        merge is:
      
         - r8188eu driver cleanups. So many cleanups. It's amazing just how
           many things have been cleaned up here, and yet, how many remain to
           go. Lots of work happened here, and it doesn't look to slow down
           any time soon.
      
         - other wifi driver cleanups. Not as many as the r8188eu driver, but
           still pretty impressive from a janitorial point of view.
      
         - bcm2853 driver cleanups
      
         - other very minor driver cleanups
      
        All of these have been in the linux-next tree for weeks with no
        reported issues"
      
      * tag 'staging-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (363 commits)
        staging: r8188eu: remove include/rtw_debug.h
        staging: r8188eu: prevent ->Ssid overflow in rtw_wx_set_scan()
        staging: r8188eu: delete rtw_wx_read/write32()
        staging: r8188eu: Remove multiple assignments
        staging: r8188eu: add check for kzalloc
        staging: r8188eu: fix warnings in rtw_wlan_util
        staging: r8188eu: fix warnings in rtw_pwrctrl
        staging: r8188eu: fix warnings in rtw_p2p
        staging: rtl8712: fix uninit-value in r871xu_drv_init()
        staging: rtl8712: fix uninit-value in usb_read8() and friends
        staging: rtl8712: add error handler in r8712_usbctrl_vendorreq()
        staging: r8188eu: remove _drv_ defines from include/rtw_debug.h
        staging: vc04_services: remove unused macro
        staging: rtl8192u: remove null check after call container_of()
        staging: rtl8192e: remove null check after call container_of()
        staging: ks7010: remove null check after call container_of()
        staging: r8188eu: remove HW_VAR_AC_PARAM_BE from SetHwReg8188EU()
        staging: r8188eu: assoc_rsp and assoc_rsp_len are not used
        staging: r8188eu: last_rx_mgnt_pkts is set but not used
        staging: r8188eu: simplify error handling in recv_func_prehandle
        ...
      4ad680f0
    • Linus Torvalds's avatar
      Merge tag 'spdx-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/spdx · 04d93b2b
      Linus Torvalds authored
      Pull SPDX updates from Greg KH:
       "Here are some SPDX license marker changes.
      
        The SPDX-labeling effort has started to pick up again, so here are
        some changes for various parts of the tree that are related to this
        effort.
      
        Included in here are:
      
         - freevxfs license updates
      
         - spihash.c license cleanups
      
         - spdxcheck script updates to make things easier to work with going
           forward
      
        All of the license updates came from the original authors/copyright
        holders of the code involved.
      
        All of these have been in linux-next for weeks with no reported
        issues"
      
      * tag 'spdx-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/spdx:
        siphash: add SPDX tags as sole licensing authority
        scripts/spdxcheck: Exclude top-level README
        scripts/spdxcheck: Exclude MAINTAINERS/CREDITS
        scripts/spdxcheck: Exclude config directories
        scripts/spdxcheck: Put excluded files and directories into a separate file
        scripts/spdxcheck: Add option to display files without SPDX
        scripts/spdxcheck: Add [sub]directory statistics
        scripts/spdxcheck: Add directory statistics
        scripts/spdxcheck: Add percentage to statistics
        freevxfs: relicense to GPLv2 only
      04d93b2b
    • Linus Torvalds's avatar
      Merge tag 'for-5.19/drivers-2022-06-02' of git://git.kernel.dk/linux-block · 78c6499c
      Linus Torvalds authored
      Pull more block driver updates from Jens Axboe:
       "A collection of stragglers that were late on sending in their changes
        and just followup fixes.
      
         - NVMe fixes pull request via Christoph:
             - set controller enable bit in a separate write (Niklas Cassel)
             - disable namespace identifiers for the MAXIO MAP1001 (Christoph)
             - fix a comment typo (Julia Lawall)"
      
         - MD fixes pull request via Song:
             - Remove uses of bdevname (Christoph Hellwig)
             - Bug fixes (Guoqing Jiang, and Xiao Ni)
      
         - bcache fixes series (Coly)
      
         - null_blk zoned write fix (Damien)
      
         - nbd fixes (Yu, Zhang)
      
         - Fix for loop partition scanning (Christoph)"
      
      * tag 'for-5.19/drivers-2022-06-02' of git://git.kernel.dk/linux-block: (23 commits)
        block: null_blk: Fix null_zone_write()
        nvmet: fix typo in comment
        nvme: set controller enable bit in a separate write
        nvme-pci: disable namespace identifiers for the MAXIO MAP1001
        bcache: avoid unnecessary soft lockup in kworker update_writeback_rate()
        nbd: use pr_err to output error message
        nbd: fix possible overflow on 'first_minor' in nbd_dev_add()
        nbd: fix io hung while disconnecting device
        nbd: don't clear 'NBD_CMD_INFLIGHT' flag if request is not completed
        nbd: fix race between nbd_alloc_config() and module removal
        nbd: call genl_unregister_family() first in nbd_cleanup()
        md: bcache: check the return value of kzalloc() in detached_dev_do_request()
        bcache: memset on stack variables in bch_btree_check() and bch_sectors_dirty_init()
        block, loop: support partitions without scanning
        bcache: avoid journal no-space deadlock by reserving 1 journal bucket
        bcache: remove incremental dirty sector counting for bch_sectors_dirty_init()
        bcache: improve multithreaded bch_sectors_dirty_init()
        bcache: improve multithreaded bch_btree_check()
        md: fix double free of io_acct_set bioset
        md: Don't set mddev private to NULL in raid0 pers->free
        ...
      78c6499c
    • Linus Torvalds's avatar
      Merge tag 'for-5.19/block-exec-2022-06-02' of git://git.kernel.dk/linux-block · 72fbbc3d
      Linus Torvalds authored
      Pull block request execute cleanups from Jens Axboe:
       "This change was advertised in the initial core block pull request, but
        didn't actually make that branch as we deferred it to a post-merge
        pull request to avoid a bunch of cross branch issues.
      
        This series cleans up the block execute path quite nicely"
      
      * tag 'for-5.19/block-exec-2022-06-02' of git://git.kernel.dk/linux-block:
        blk-mq: remove the done argument to blk_execute_rq_nowait
        blk-mq: avoid a mess of casts for blk_end_sync_rq
        blk-mq: remove __blk_execute_rq_nowait
      72fbbc3d
    • Linus Torvalds's avatar
      Merge tag 'for-5.19/block-2022-06-02' of git://git.kernel.dk/linux-block · 34845d92
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "Just a collection of fixes that have been queued up since the initial
        merge window pull request, the majority of which are targeted for
        stable as well.
      
        One bio_set fix that fixes an issue with the dm adoption of cached bio
        structs that got introduced in this merge window"
      
      * tag 'for-5.19/block-2022-06-02' of git://git.kernel.dk/linux-block:
        block: Fix potential deadlock in blk_ia_range_sysfs_show()
        block: fix bio_clone_blkg_association() to associate with proper blkcg_gq
        block: remove useless BUG_ON() in blk_mq_put_tag()
        blk-mq: do not update io_ticks with passthrough requests
        block: make bioset_exit() fully resilient against being called twice
        block: use bio_queue_enter instead of blk_queue_enter in bio_poll
        block: document BLK_STS_AGAIN usage
        block: take destination bvec offsets into account in bio_copy_data_iter
        blk-iolatency: Fix inflight count imbalances and IO hangs on offline
        blk-mq: don't touch ->tagset in blk_mq_get_sq_hctx
      34845d92
    • Linus Torvalds's avatar
      Merge tag 'io_uring-5.19-2022-06-02' of git://git.kernel.dk/linux-block · 5ac8bdb9
      Linus Torvalds authored
      Pull more io_uring updates from Jens Axboe:
      
       - A small series with some prep patches for the upcoming 5.20 split of
         the io_uring.c file. No functional changes here, just minor bits that
         are nice to get out of the way now (me)
      
       - Fix for a memory leak in high numbered provided buffer groups,
         introduced in the merge window (me)
      
       - Wire up the new socket opcode for allocated direct descriptors,
         making it consistent with the other opcodes that can instantiate a
         descriptor (me)
      
       - Fix for the inflight tracking, should go into 5.18-stable as well
         (me)
      
       - Fix for a deadlock for io-wq offloaded file slot allocations (Pavel)
      
       - Direct descriptor failure fput leak fix (Xiaoguang)
      
       - Fix for the direct descriptor allocation hinting in case of
         unsuccessful install (Xiaoguang)
      
      * tag 'io_uring-5.19-2022-06-02' of git://git.kernel.dk/linux-block:
        io_uring: reinstate the inflight tracking
        io_uring: fix deadlock on iowq file slot alloc
        io_uring: let IORING_OP_FILES_UPDATE support choosing fixed file slots
        io_uring: defer alloc_hint update to io_file_bitmap_set()
        io_uring: ensure fput() called correspondingly when direct install fails
        io_uring: wire up allocated direct descriptors for socket
        io_uring: fix a memory leak of buffer group list on exit
        io_uring: move shutdown under the general net section
        io_uring: unify calling convention for async prep handling
        io_uring: add io_op_defs 'def' pointer in req init and issue
        io_uring: make prep and issue side of req handlers named consistently
        io_uring: make timeout prep handlers consistent with other prep handlers
      5ac8bdb9
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · 6e5f6a86
      Linus Torvalds authored
      Pull virtio updates from Michael Tsirkin:
       "vhost,virtio and vdpa features, fixes, and cleanups:
      
         - mac vlan filter and stats support in mlx5 vdpa
      
         - irq hardening in virtio
      
         - performance improvements in virtio crypto
      
         - polling i/o support in virtio blk
      
         - ASID support in vhost
      
         - fixes, cleanups all over the place"
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: (64 commits)
        vdpa: ifcvf: set pci driver data in probe
        vdpa/mlx5: Add RX MAC VLAN filter support
        vdpa/mlx5: Remove flow counter from steering
        vhost: rename vhost_work_dev_flush
        vhost-test: drop flush after vhost_dev_cleanup
        vhost-scsi: drop flush after vhost_dev_cleanup
        vhost_vsock: simplify vhost_vsock_flush()
        vhost_test: remove vhost_test_flush_vq()
        vhost_net: get rid of vhost_net_flush_vq() and extra flush calls
        vhost: flush dev once during vhost_dev_stop
        vhost: get rid of vhost_poll_flush() wrapper
        vhost-vdpa: return -EFAULT on copy_to_user() failure
        vdpasim: Off by one in vdpasim_set_group_asid()
        virtio: Directly use ida_alloc()/free()
        virtio: use WARN_ON() to warning illegal status value
        virtio: harden vring IRQ
        virtio: allow to unbreak virtqueue
        virtio-ccw: implement synchronize_cbs()
        virtio-mmio: implement synchronize_cbs()
        virtio-pci: implement synchronize_cbs()
        ...
      6e5f6a86
    • Linus Torvalds's avatar
      Merge tag 'sound-fix-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 6f6ebb98
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "A collection of small fixes for 5.19 merge window. Nothing particular
        stands out, as most changes are device-specific fixes and quirks"
      
      * tag 'sound-fix-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        selftests: alsa: Handle pkg-config failure more gracefully
        ALSA: usb-audio: Optimize TEAC clock quirk
        ASoC: da7219: cancel AAD related work earlier for jack removal
        ASoC: da7219: Fix pole orientation detection on certain headsets
        ASoC: Intel: avs: Fix build error on arc, m68k and sparc
        ALSA: hda/realtek - Fix microphone noise on ASUS TUF B550M-PLUS
        ALSA: hda/via: Delete does not require return
        ALSA: hda/realtek: Enable 4-speaker output for Dell XPS 15 9520 laptop
        ASoC: Intel: common: fix typo for tplg naming
        ALSA: usb-audio: Cancel pending work at closing a MIDI substream
        ALSA: usb-audio: Add mixer mapping for Gigabyte B450/550 Mobos
        ASoC: rt5640: Do not manipulate pin "Platform Clock" if the "Platform Clock" is not in the DAPM
        ASoC: SOF: amd: Fixed Build error
        ASoC: fsl_sai: Fix FSL_SAI_xDR/xFR definition
        ASoC: soc-pcm: fix BE transition for TRIGGER_START
      6f6ebb98
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2022-06-03-1' of git://anongit.freedesktop.org/drm/drm · ab18b7b3
      Linus Torvalds authored
      Pull more drm updates from Dave Airlie:
       "This is mostly regular fixes, msm and amdgpu. There is a tegra patch
        that is bit of prep work for a 5.20 feature to avoid some inter-tree
        syncs, and a couple of late addition amdgpu uAPI changes but best to
        get those in early, and the userspace pieces are ready.
      
        msm:
         - Limiting WB modes to max sspp linewidth
         - Fixing the supported rotations to add 180 back for IGT
         - Fix to handle pm_runtime_get_sync() errors to avoid unclocked
           access in the bind() path for dpu driver
         - Fix the irq_free() without request issue which was a big-time
           hitter in the CI-runs.
      
        amdgpu:
         - Update fdinfo to the common drm format
         - uapi:
             - Add VM_NOALLOC GPUVM attribute to prevent buffers for going
               into the MALL
             - Add AMDGPU_GEM_CREATE_DISCARDABLE flag to create buffers that
               can be discarded on eviction
             - Mesa code which uses these:
                 https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16466
         - Link training fixes
         - DPIA fixes
         - Misc code cleanups
         - Aux fixes
         - Hotplug fixes
         - More FP clean up
         - Misc GFX9/10 fixes
         - Fix a possible memory leak in SMU shutdown
         - SMU 13 updates
         - RAS fixes
         - TMZ fixes
         - GC 11 updates
         - SMU 11 metrics fixes
         - Fix coverage blend mode for overlay plane
         - Note DDR vs LPDDR memory
         - Fuzz fix for CS IOCTL
         - Add new PCI DID
      
        amdkfd:
         - Clean up hive setup
         - Misc fixes
      
        tegra:
         - add some prelim 5.20 work to avoid inter-tree mess"
      
      * tag 'drm-next-2022-06-03-1' of git://anongit.freedesktop.org/drm/drm: (57 commits)
        drm/msm/dpu: Move min BW request and full BW disable back to mdss
        drm/msm/dpu: Fix pointer dereferenced before checking
        drm/msm/dpu: Remove unused code
        drm/msm/disp/dpu1: remove superfluous init
        drm/msm/dp: Always clear mask bits to disable interrupts at dp_ctrl_reset_irq_ctrl()
        gpu: host1x: Add context bus
        drm/amdgpu: add drm-client-id to fdinfo v2
        drm/amdgpu: Convert to common fdinfo format v5
        drm/amdgpu: bump minor version number
        drm/amdgpu: add AMDGPU_VM_NOALLOC v2
        drm/amdgpu: add AMDGPU_GEM_CREATE_DISCARDABLE
        drm/amdgpu: add beige goby PCI ID
        drm/amd/pm: Return auto perf level, if unsupported
        drm/amdkfd: fix typo in comment
        drm/amdgpu/gfx: fix typos in comments
        drm/amdgpu/cs: make commands with 0 chunks illegal behaviour.
        drm/amdgpu: differentiate between LP and non-LP DDR memory
        drm/amdgpu: Resolve pcie_bif RAS recovery bug
        drm/amdgpu: clean up asd on the ta_firmware_header_v2_0
        drm/amdgpu/discovery: validate VCN and SDMA instances
        ...
      ab18b7b3
    • Damien Le Moal's avatar
      block: Fix potential deadlock in blk_ia_range_sysfs_show() · 41e46b3c
      Damien Le Moal authored
      When being read, a sysfs attribute is already protected against removal
      with the kobject node active reference counter. As a result, in
      blk_ia_range_sysfs_show(), there is no need to take the queue sysfs
      lock when reading the value of a range attribute. Using the queue sysfs
      lock in this function creates a potential deadlock situation with the
      disk removal, something that a lockdep signals with a splat when the
      device is removed:
      
      [  760.703551]  Possible unsafe locking scenario:
      [  760.703551]
      [  760.703554]        CPU0                    CPU1
      [  760.703556]        ----                    ----
      [  760.703558]   lock(&q->sysfs_lock);
      [  760.703565]                                lock(kn->active#385);
      [  760.703573]                                lock(&q->sysfs_lock);
      [  760.703579]   lock(kn->active#385);
      [  760.703587]
      [  760.703587]  *** DEADLOCK ***
      
      Solve this by removing the mutex_lock()/mutex_unlock() calls from
      blk_ia_range_sysfs_show().
      
      Fixes: a2247f19 ("block: Add independent access ranges support")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@opensource.wdc.com>
      Link: https://lore.kernel.org/r/20220603021905.1441419-1-damien.lemoal@opensource.wdc.comSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
      41e46b3c
    • Dave Airlie's avatar
      Merge tag 'drm/tegra/for-5.19-prep-work' of https://gitlab.freedesktop.org/drm/tegra into drm-next · 40420434
      Dave Airlie authored
      drm/tegra: Preparatory work for v5.19
      
      This contains a single patch from a series that's ready to go for v5.10
      but is also a shared build-time dependency for an IOMMU series that is
      planned for v5.20. The idea is to take this into v5.19 to fulfill that
      dependency and remove the need for close coordination for the two
      series.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Thierry Reding <thierry.reding@gmail.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220601100335.3841301-1-thierry.reding@gmail.com
      40420434
    • Dave Airlie's avatar
      Merge tag 'msm-next-5.19-fixes-06-01' of https://gitlab.freedesktop.org/abhinavk/msm into drm-next · b8042ff4
      Dave Airlie authored
      5.19 fixes for msm-next
      
      - Fix to add minimum ICC vote in the msm_mdss pm_resume path to address
         bootup splats
      - Fix to avoid dereferencing without checking in WB encoder
      - Fix to avoid crash during suspend in DP driver by ensuring interrupt
         mask bits are updated
      - Remove unused code from dpu_encoder_virt_atomic_check()
      - Fix to remove redundant init of dsc variable
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Abhinav Kumar <quic_abhinavk@quicinc.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/927b201e-a734-a29d-b9fb-b9889e1f7795@quicinc.com
      b8042ff4
  2. 02 Jun, 2022 6 commits
    • Linus Torvalds's avatar
      Merge tag 'docs-5.19-2' of git://git.lwn.net/linux · 50fd82b3
      Linus Torvalds authored
      Pull documentation fixes from Jonathan Corbet:
       "A handful of late-arriving documentation fixes and the addition of an
        SVG tux logo which, I'm assured, we're going to want"
      
      * tag 'docs-5.19-2' of git://git.lwn.net/linux:
        documentation: Format button_dev as a pointer.
        docs: add SVG version of the Linux logo
        docs: move Linux logo into a new `images` folder
        docs: blockdev: change title to match section content
        docs/conf.py: Cope with removal of language=None in Sphinx 5.0.0
      50fd82b3
    • Linus Torvalds's avatar
      Merge tag 'asm-generic-fixes-5.19' of... · baf86ac1
      Linus Torvalds authored
      Merge tag 'asm-generic-fixes-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic
      
      Pull asm-generic fixes from Arnd Bergmann:
       "The header cleanup series from Masahiro Yamada ended up causing some
        regressions in the ABI because of an ambigous uid_t type.
      
        This was only caught after the original patches got merged, but at
        least the fixes are trivial and hopefully complete"
      
      * tag 'asm-generic-fixes-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
        binder: fix sender_euid type in uapi header
        sparc: fix mis-use of __kernel_{uid,gid}_t in uapi/asm/stat.h
        powerpc: use __kernel_{uid,gid}32_t in uapi/asm/stat.h
        mips: use __kernel_{uid,gid}32_t in uapi/asm/stat.h
      baf86ac1
    • Linus Torvalds's avatar
      Merge tag 'arm-late-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 09a01817
      Linus Torvalds authored
      Pull more ARM SoC updates from Arnd Bergmann:
       "This is the second part of the general SoC updates, containing
        everything that did not make it in the initial pull request, or that
        came in as a bugfix later.
      
         - Devicetree updates for SoCFPGA, ASPEED, AT91 and Rockchip,
           including a new machine using an ASPEED BMC.
      
         - More DT fixes from Krzysztof Kozlowski across platforms
      
         - A new SoC platform for the GXP baseboard management controller,
           used in current server products from HPE"
      
      * tag 'arm-late-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (56 commits)
        ARM: configs: Enable more audio support for i.MX
        tee: optee: Pass a pointer to virt_addr_valid()
        arm64: dts: rockchip: rename Quartz64-A bluetooth gpios
        arm64: dts: rockchip: add clocks property to cru node rk3368
        arm64: dts: rockchip: add clocks property to cru node rk3308
        arm64: dts: rockchip: add clocks to rk356x cru
        ARM: dts: rockchip: add clocks property to cru node rk3228
        ARM: dts: rockchip: add clocks property to cru node rk3036
        ARM: dts: rockchip: add clocks property to cru node rk3066a/rk3188
        ARM: dts: rockchip: add clocks property to cru node rk3288
        ARM: dts: rockchip: Remove "amba" bus nodes from rv1108
        ARM: dts: rockchip: add clocks property to cru node rv1108
        arm64: dts: sprd: use new 'dma-channels' property
        ARM: dts: da850: use new 'dma-channels' property
        ARM: dts: pxa: use new 'dma-channels/requests' properties
        soc: ixp4xx/qmgr: Fix unused match warning
        ARM: ep93xx: Make ts72xx_register_flash() static
        ARM: configs: enable support for Kontron KSwitch D10
        ep93xx: clock: Do not return the address of the freed memory
        arm64: dts: intel: add device tree for n6000
        ...
      09a01817
    • Linus Torvalds's avatar
      Merge tag 'arm-multiplatform-5.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 96479c09
      Linus Torvalds authored
      Pull more ARM multiplatform updates from Arnd Bergmann:
       "The second part of the multiplatform changes now converts the
        Intel/Marvell PXA platform along with the rest. The patches went
        through several rebases before the merge window as bugs were found, so
        they remained separate.
      
        This has to touch a lot of drivers, in particular the touchscreen,
        pcmcia, sound and clk bits, to detach the driver files from the
        platform and board specific header files"
      
      * tag 'arm-multiplatform-5.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (48 commits)
        ARM: pxa/mmp: remove traces of plat-pxa
        ARM: pxa: convert to multiplatform
        ARM: pxa/sa1100: move I/O space to PCI_IOBASE
        ARM: pxa: remove support for MTD_XIP
        ARM: pxa: move mach/*.h to mach-pxa/
        ARM: PXA: fix multi-cpu build of xsc3
        ARM: pxa: move plat-pxa to drivers/soc/
        ARM: mmp: rename pxa_register_device
        ARM: mmp: remove tavorevb board support
        ARM: pxa: remove unused mach/bitfield.h
        ARM: pxa: move clk register definitions to driver
        ARM: pxa: move smemc register access from clk to platform
        cpufreq: pxa3: move clk register access to clk driver
        ARM: pxa: remove get_clk_frequency_khz()
        ARM: pxa: pcmcia: move smemc configuration back to arch
        ASoC: pxa: i2s: use normal MMIO accessors
        ASoC: pxa: ac97: use normal MMIO accessors
        ASoC: pxa: use pdev resource for FIFO regs
        Input: wm97xx - get rid of irq_enable method in wm97xx_mach_ops
        Input: wm97xx - switch to using threaded IRQ
        ...
      96479c09
    • Linus Torvalds's avatar
      Merge tag 'net-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 58f9d52f
      Linus Torvalds authored
      Pull networking fixes from Jakub Kicinski:
       "Including fixes from bpf and netfilter.
      
        Current release - new code bugs:
      
         - af_packet: make sure to pull the MAC header, avoid skb panic in GSO
      
         - ptp_clockmatrix: fix inverted logic in is_single_shot()
      
         - netfilter: flowtable: fix missing FLOWI_FLAG_ANYSRC flag
      
         - dt-bindings: net: adin: fix adi,phy-output-clock description syntax
      
         - wifi: iwlwifi: pcie: rename CAUSE macro, avoid MIPS build warning
      
        Previous releases - regressions:
      
         - Revert "net: af_key: add check for pfkey_broadcast in function
           pfkey_process"
      
         - tcp: fix tcp_mtup_probe_success vs wrong snd_cwnd
      
         - nf_tables: disallow non-stateful expression in sets earlier
      
         - nft_limit: clone packet limits' cost value
      
         - nf_tables: double hook unregistration in netns path
      
         - ping6: fix ping -6 with interface name
      
        Previous releases - always broken:
      
         - sched: fix memory barriers to prevent skbs from getting stuck in
           lockless qdiscs
      
         - neigh: set lower cap for neigh_managed_work rearming, avoid
           constantly scheduling the probe work
      
         - bpf: fix probe read error on big endian in ___bpf_prog_run()
      
         - amt: memory leak and error handling fixes
      
        Misc:
      
         - ipv6: expand & rename accept_unsolicited_na to accept_untracked_na"
      
      * tag 'net-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (80 commits)
        net/af_packet: make sure to pull mac header
        net: add debug info to __skb_pull()
        net: CONFIG_DEBUG_NET depends on CONFIG_NET
        stmmac: intel: Add RPL-P PCI ID
        net: stmmac: use dev_err_probe() for reporting mdio bus registration failure
        tipc: check attribute length for bearer name
        ice: fix access-beyond-end in the switch code
        nfp: remove padding in nfp_nfdk_tx_desc
        ax25: Fix ax25 session cleanup problems
        net: usb: qmi_wwan: Add support for Cinterion MV31 with new baseline
        sfc/siena: fix wrong tx channel offset with efx_separate_tx_channels
        sfc/siena: fix considering that all channels have TX queues
        socket: Don't use u8 type in uapi socket.h
        net/sched: act_api: fix error code in tcf_ct_flow_table_fill_tuple_ipv6()
        net: ping6: Fix ping -6 with interface name
        macsec: fix UAF bug for real_dev
        octeontx2-af: fix error code in is_valid_offset()
        wifi: mac80211: fix use-after-free in chanctx code
        bonding: guard ns_targets by CONFIG_IPV6
        tcp: tcp_rtx_synack() can be called from process context
        ...
      58f9d52f
    • Saravana Kannan's avatar
      module: Fix prefix for module.sig_enforce module param · 73503963
      Saravana Kannan authored
      Commit cfc1d277 ("module: Move all into module/") changed the prefix
      of the module param by moving/renaming files.  A later commit also moves
      the module_param() into a different file, thereby changing the prefix
      yet again.
      
      This would break kernel cmdline compatibility and also userspace
      compatibility at /sys/module/module/parameters/sig_enforce.
      
      So, set the prefix back to "module.".
      
      Fixes: cfc1d277 ("module: Move all into module/")
      Link: https://lore.kernel.org/lkml/20220602034111.4163292-1-saravanak@google.com/
      Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
      Cc: Aaron Tomlin <atomlin@redhat.com>
      Acked-by: default avatarLuis Chamberlain <mcgrof@kernel.org>
      Signed-off-by: default avatarSaravana Kannan <saravanak@google.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      73503963