1. 22 Mar, 2021 15 commits
    • Paul E. McKenney's avatar
      torture: Print proper vmlinux path for kvm-again.sh runs · 03edf700
      Paul E. McKenney authored
      The kvm-again.sh script does not copy over the vmlinux files due to
      their large size.  This means that a gdb run must use the vmlinux file
      from the original "res" directory.  This commit therefore finds that
      directory and prints it out so that the user can copy and pasted the
      gdb command just as for the initial run.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      03edf700
    • Paul E. McKenney's avatar
      torture: Make TORTURE_TRUST_MAKE available in kvm-again.sh environment · a5dbe252
      Paul E. McKenney authored
      Because the TORTURE_TRUST_MAKE environment variable is not recorded,
      kvm-again.sh runs can result in the parse-build.sh script emitting
      false-positive "BUG: TREE03 no build" messages.  These messages are
      intended to complain about any lack of compiler invocations when the
      --trust-make flag is not given to kvm.sh.  However, when this flag is
      given to kvm.sh (and thus when TORTURE_TRUST_MAKE=y), lack of compiler
      invocations is expected behavior when rebuilding from identical source
      code.
      
      This commit therefore makes kvm-test-1-run.sh record the value of the
      TORTURE_TRUST_MAKE environment variable as an additional comment in the
      qemu-cmd file, and also makes kvm-again.sh reconstitute that variable
      from that comment.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      a5dbe252
    • Paul E. McKenney's avatar
      torture: Make kvm-transform.sh update jitter commands · 018629e9
      Paul E. McKenney authored
      When rerunning an old run using kvm-again.sh, the jitter commands
      will re-use the original "res" directory.  This works, but is clearly
      an accident waiting to happen.  And this accident will happen with
      remote runs, where the original directory lives on some other system.
      This commit therefore updates the qemu-cmd commands to use the new res
      directory created for this specific run.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      018629e9
    • Paul E. McKenney's avatar
      torture: Add --duration argument to kvm-again.sh · 00505165
      Paul E. McKenney authored
      This commit adds a --duration argument to kvm-again.sh to allow the user
      to override the --duration specified for the original kvm.sh run.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      00505165
    • Paul E. McKenney's avatar
      torture: Add kvm-again.sh to rerun a previous torture-test · 7cf86c0b
      Paul E. McKenney authored
      This commit adds a kvm-again.sh script that, given the results directory
      of a torture-test run, re-runs that test.  This means that the kernels
      need not be rebuilt, but it also is a step towards running torture tests
      on remote systems.
      
      This commit also adds a kvm-test-1-run-batch.sh script that runs one
      batch out of the torture test.  The idea is to copy a results directory
      tree to remote systems, then use kvm-test-1-run-batch.sh to run batches
      on these systems.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      7cf86c0b
    • Paul E. McKenney's avatar
      torture: Create a "batches" file for build reuse · d6100d76
      Paul E. McKenney authored
      This commit creates a "batches" file in the res/$ds directory, where $ds
      is the datestamp.  This file contains the batches and the number of CPUs,
      for example:
      
      1 TREE03 16
      1 SRCU-P 8
      2 TREE07 16
      2 TREE01 8
      3 TREE02 8
      3 TREE04 8
      3 TREE05 8
      4 SRCU-N 4
      4 TRACE01 4
      4 TRACE02 4
      4 RUDE01 2
      4 RUDE01.2 2
      4 TASKS01 2
      4 TASKS03 2
      4 SRCU-t 1
      4 SRCU-u 1
      4 TASKS02 1
      4 TINY01 1
      5 TINY02 1
      5 TREE09 1
      
      The first column is the batch number, the second the scenario number
      (possibly suffixed by a repetition number, as in "RUDE01.2"), and the
      third is the number of CPUs required by that scenario.  The last line
      shows the number of CPUs expected by this batch file, which allows
      the run to be re-batched if a different number of CPUs is available.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      d6100d76
    • Paul E. McKenney's avatar
      torture: De-capitalize TORTURE_SUITE · 7ef0d5a3
      Paul E. McKenney authored
      Although it might be unlikely that someone would name a scenario
      "TORTURE_SUITE", they are within their rights to do so.  This script
      therefore renames the "TORTURE_SUITE" file in the top-level date-stamped
      directory within "res" to "torture_suite" to avoid this name collision.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      7ef0d5a3
    • Paul E. McKenney's avatar
      torture: Make upper-case-only no-dot no-slash scenario names official · e633e63a
      Paul E. McKenney authored
      This commit enforces the defacto restriction on scenario names, which is
      that they contain neither "/", ".", nor lowercase alphabetic characters.
      This restriction avoids collisions between scenario names and the torture
      scripting's files and directories.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      e633e63a
    • Paul E. McKenney's avatar
      torture: Rename SRCU-t and SRCU-u to avoid lowercase characters · 00a447fa
      Paul E. McKenney authored
      The convention that scenario names are all uppercase has two exceptions,
      SRCU-t and SRCU-u.  This commit therefore renames them to SRCU-T and
      SRCU-U, respectively, to bring them in line with this convention.  This in
      turn permits tighter argument checking in the torture-test scripting.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      00a447fa
    • Paul E. McKenney's avatar
      torture: Remove no-mpstat error message · 996a042e
      Paul E. McKenney authored
      The cpus2use.sh script complains if the mpstat command is not available,
      and instead uses all available CPUs.  Unfortunately, this complaint
      goes to stdout, where it confuses invokers who expect a single number.
      This commit removes this error message in order to avoid this confusion.
      The tendency of late has been to give rcutorture a full system, so this
      should not cause issues.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      996a042e
    • Paul E. McKenney's avatar
      torture: Record kvm-test-1-run.sh and kvm-test-1-run-qemu.sh PIDs · cb1fa863
      Paul E. McKenney authored
      This commit records the process IDs of the kvm-test-1-run.sh and
      kvm-test-1-run-qemu.sh scripts to ease monitoring of remotely running
      instances of these scripts.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      cb1fa863
    • Paul E. McKenney's avatar
      torture: Record jitter start/stop commands · 7831b391
      Paul E. McKenney authored
      Distributed runs of rcutorture will need to start and stop jittering on
      the remote hosts, which means that the commands must be communicated to
      those hosts.  The commit therefore causes kvm.sh to place these commands
      in new TORTURE_JITTER_START and TORTURE_JITTER_STOP environment variables
      to communicate them to the scripts that will set this up.  In addition,
      this commit causes kvm-test-1-run.sh to append these commands to each
      generated qemu-cmd file, which allows any remotely executing script to
      extract the needed commands from this file.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      7831b391
    • Paul E. McKenney's avatar
      torture: Extract kvm-test-1-run-qemu.sh from kvm-test-1-run.sh · d53f52d6
      Paul E. McKenney authored
      Currently, kvm-test-1-run.sh both builds and runs an rcutorture kernel,
      which is inconvenient when it is necessary to re-run an old run or to
      carry out a run on a remote system.  This commit therefore extracts the
      portion of kvm-test-1-run.sh that invoke qemu to actually run rcutorture
      and places it in kvm-test-1-run-qemu.sh.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      d53f52d6
    • Paul E. McKenney's avatar
      torture: Record TORTURE_KCONFIG_GDB_ARG in qemu-cmd · cc45716e
      Paul E. McKenney authored
      When re-running old rcutorture builds, if the original run involved
      gdb, the re-run also needs to do so.  This commit therefore records the
      TORTURE_KCONFIG_GDB_ARG environment variable into the qemu-cmd file so
      that the re-run can access it.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      cc45716e
    • Paul E. McKenney's avatar
      torture: Abstract jitter.sh start/stop into scripts · 040accb3
      Paul E. McKenney authored
      This commit creates jitterstart.sh and jitterstop.sh scripts that handle
      the starting and stopping of the jitter.sh scripts.  These must be sourced
      using the bash "." command to allow the generated script to wait on the
      backgrounded jitter.sh scripts.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      040accb3
  2. 08 Mar, 2021 11 commits
    • Paul E. McKenney's avatar
      torture: Reverse jittering and duration parameters for jitter.sh · 4cd54518
      Paul E. McKenney authored
      Remote rcutorture testing requires that jitter.sh continue to be
      invoked from the generated script for local runs, but that it instead
      be invoked on the remote system for distributed runs.  This argues
      for common jitterstart and jitterstop scripts.  But it would be good
      for jitterstart and jitterstop to control the name and location of the
      "jittering" file, while continuing to have the duration controlled by
      the caller of these new scripts.
      
      This commit therefore reverses the order of the jittering and duration
      parameters for jitter.sh, so that the jittering parameter precedes the
      duration parameter.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      4cd54518
    • Paul E. McKenney's avatar
      torture: Eliminate jitter_pids file · 1f922db8
      Paul E. McKenney authored
      Now that there is a reliable way to convince the jitter.sh scripts to
      stop, the jitter_pids file is not needed, nor is the code that kills all
      the PIDs contained in this file.  This commit therefore eliminates this
      file and the code using it.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      1f922db8
    • Paul E. McKenney's avatar
      torture: Use "jittering" file to control jitter.sh execution · 37812c94
      Paul E. McKenney authored
      Currently, jitter.sh execution is controlled by a time limit and by the
      "kill" command.  The former allowed jitter.sh to run uselessly past
      the end of a set of runs that panicked during boot, and the latter is
      vulnerable to PID reuse.  This commit therefore introduces a "jittering"
      file in the date-stamp directory within "res" that must be present for
      the jitter.sh scripts to continue executing.  The time limit is still
      in place in order to avoid disturbing runs featuring large trace dumps,
      but the removal of the "jittering" file handles the panic-during-boot
      scenario without relying on PIDs.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      37812c94
    • Paul E. McKenney's avatar
      torture: Use file-based protocol to mark batch's runs complete · b674100e
      Paul E. McKenney authored
      Currently, the script generated by kvm.sh does a "wait" to wait on both
      the current batch's guest OSes and any jitter.sh scripts.  This works,
      but makes it hard to abstract the jittering so that common code can be
      used for both local and distributed runs.  This commit therefore uses
      "build.run" files in scenario directories, and these files are removed
      after the corresponding scenario's guest OS has completed.
      
      Note that --build-only runs do not create build.run files because they
      also do not create guest OSes and do not run any jitter.sh scripts.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      b674100e
    • Paul E. McKenney's avatar
      torture: Move build/run synchronization files into scenario directories · 3c43ce53
      Paul E. McKenney authored
      Currently the bN.ready and bN.wait files are placed in the
      rcutorture directory, which really is not at all a good place
      for run-specific files.  This commit therefore renames these
      files to build.ready and build.wait and then moves them into the
      scenario directories within the "res" directory, for example, into
      tools/testing/selftests/rcutorture/res/2021.02.10-15.08.23/TINY01.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      3c43ce53
    • Paul E. McKenney's avatar
      refscale: Disable verbose torture-test output · aebf8c7b
      Paul E. McKenney authored
      Given large numbers of threads, the quantity of torture-test output is
      sufficient to sometimes result in RCU CPU stall warnings.  The probability
      of these stall warnings was greatly reduced by batching the output,
      but the warnings were not eliminated.  However, the actual test only
      depends on console output that is printed even when refscale.verbose=0.
      This commit therefore causes this test to run with refscale.verbose=0.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      aebf8c7b
    • Paul E. McKenney's avatar
      rcuscale: Disable verbose torture-test output · 0e7457b5
      Paul E. McKenney authored
      Given large numbers of threads, the quantity of torture-test output is
      sufficient to sometimes result in RCU CPU stall warnings.  The probability
      of these stall warnings was greatly reduced by batching the output,
      but the warnings were not eliminated.  However, the actual test only
      depends on console output that is printed even when rcuscale.verbose=0.
      This commit therefore causes this test to run with rcuscale.verbose=0.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      0e7457b5
    • Paul E. McKenney's avatar
      torture: Improve readability of the testid.txt file · f9d2f1e2
      Paul E. McKenney authored
      The testid.txt file was intended for occasional in extremis use, but
      now that the new "bare-metal" file references it, it might see more use.
      This commit therefore labels sections of output and adds spacing to make
      it easier to see what needs to be done to make a bare-metal build tree
      match an rcutorture build tree.
      
      Of course, you can avoid this whole issue by building your bare-metal
      kernel in the same directory in which you ran rcutorture, but that might
      not always be an option.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      f9d2f1e2
    • Paul E. McKenney's avatar
      torture: Provide bare-metal modprobe-based advice · a8dafbf3
      Paul E. McKenney authored
      In some environments, the torture-testing use of virtualization is
      inconvenient.  In such cases, the modprobe and rmmod commands may be used
      to do torture testing, but significant setup is required to build, boot,
      and modprobe a kernel so as to match a given torture-test scenario.
      This commit therefore creates a "bare-metal" file in each results
      directory containing steps to run the corresponding scenario using the
      modprobe command on bare metal.  For example, the contents of this file
      after using kvm.sh to build an rcutorture TREE01 kernel, perhaps with
      the --buildonly argument, is as follows:
      
      To run this scenario on bare metal:
      
       1. Set your bare-metal build tree to the state shown in this file:
          /home/git/linux-rcu/tools/testing/selftests/rcutorture/res/2021.02.04-17.10.19/testid.txt
       2. Update your bare-metal build tree's .config based on this file:
          /home/git/linux-rcu/tools/testing/selftests/rcutorture/res/2021.02.04-17.10.19/TREE01/ConfigFragment
       3. Make the bare-metal kernel's build system aware of your .config updates:
          $ yes "" | make oldconfig
       4. Build your bare-metal kernel.
       5. Boot your bare-metal kernel with the following parameters:
          maxcpus=8 nr_cpus=43 rcutree.gp_preinit_delay=3 rcutree.gp_init_delay=3 rcutree.gp_cleanup_delay=3 rcu_nocbs=0-1,3-7
       6. Start the test with the following command:
          $ modprobe rcutorture nocbs_nthreads=8 nocbs_toggle=1000 fwd_progress=0 onoff_interval=1000 onoff_holdoff=30 n_barrier_cbs=4 stat_interval=15 shutdown_secs=120 test_no_idle_hz=1 verbose=1
       7. After some time, end the test with the following command:
          $ rmmod rcutorture
       8. Copy your bare-metal kernel's .config file, overwriting this file:
          /home/git/linux-rcu/tools/testing/selftests/rcutorture/res/2021.02.04-17.10.19/TREE01/.config
       9. Copy the console output from just before the modprobe to just after
          the rmmod into this file:
          /home/git/linux-rcu/tools/testing/selftests/rcutorture/res/2021.02.04-17.10.19/TREE01/console.log
      10. Check for runtime errors using the following command:
         $ tools/testing/selftests/rcutorture/bin/kvm-recheck.sh /home/git/linux-rcu/tools/testing/selftests/rcutorture/res/2021.02.04-17.10.19
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      a8dafbf3
    • Paul E. McKenney's avatar
      torture: Allow 1G of memory for torture.sh kvfree testing · 3d4977b6
      Paul E. McKenney authored
      Yes, I do recall a time when 512MB of memory was a lot of mass storage,
      much less main memory, but the rcuscale kvfree_rcu() testing invoked by
      torture.sh can sometimes exceed it on large systems, resulting in OOM.
      This commit therefore causes torture.sh to pase the "--memory 1G"
      argument to kvm.sh to reserve a full gigabyte for this purpose.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      3d4977b6
    • Paul E. McKenney's avatar
      torturescript: Don't rerun failed rcutorture builds · a519d214
      Paul E. McKenney authored
      If the build fails when running multiple instances of a given rcutorture
      scenario, for example, using the kvm.sh --configs "8*RUDE01" argument,
      the build will be rerun an additional seven times.  This is in some sense
      correct, but it can waste significant time.  This commit therefore checks
      for a prior failed build and simply copies over that build's output.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      a519d214
  3. 06 Mar, 2021 4 commits
  4. 05 Mar, 2021 10 commits
    • Linus Torvalds's avatar
      Merge tag 'for-5.12/dm-fixes' of... · 63dcd69d
      Linus Torvalds authored
      Merge tag 'for-5.12/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper fixes from Mike Snitzer:
       "Fix DM verity target's optional Forward Error Correction (FEC) for
        Reed-Solomon roots that are unaligned to block size"
      
      * tag 'for-5.12/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm verity: fix FEC for RS roots unaligned to block size
        dm bufio: subtract the number of initial sectors in dm_bufio_get_device_size
      63dcd69d
    • Linus Torvalds's avatar
      Merge tag 'block-5.12-2021-03-05' of git://git.kernel.dk/linux-block · 47454caf
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - NVMe fixes:
            - more device quirks (Julian Einwag, Zoltán Böszörményi, Pascal
              Terjan)
            - fix a hwmon error return (Daniel Wagner)
            - fix the keep alive timeout initialization (Martin George)
            - ensure the model_number can't be changed on a used subsystem
              (Max Gurtovoy)
      
       - rsxx missing -EFAULT on copy_to_user() failure (Dan)
      
       - rsxx remove unused linux.h include (Tian)
      
       - kill unused RQF_SORTED (Jean)
      
       - updated outdated BFQ comments (Joseph)
      
       - revert work-around commit for bd_size_lock, since we removed the
         offending user in this merge window (Damien)
      
      * tag 'block-5.12-2021-03-05' of git://git.kernel.dk/linux-block:
        nvmet: model_number must be immutable once set
        nvme-fabrics: fix kato initialization
        nvme-hwmon: Return error code when registration fails
        nvme-pci: add quirks for Lexar 256GB SSD
        nvme-pci: mark Kingston SKC2000 as not supporting the deepest power state
        nvme-pci: mark Seagate Nytro XM1440 as QUIRK_NO_NS_DESC_LIST.
        rsxx: Return -EFAULT if copy_to_user() fails
        block/bfq: update comments and default value in docs for fifo_expire
        rsxx: remove unused including <linux/version.h>
        block: Drop leftover references to RQF_SORTED
        block: revert "block: fix bd_size_lock use"
      47454caf
    • Linus Torvalds's avatar
      Merge tag 'io_uring-5.12-2021-03-05' of git://git.kernel.dk/linux-block · f292e873
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
       "A bit of a mix between fallout from the worker change, cleanups and
        reductions now possible from that change, and fixes in general. In
        detail:
      
         - Fully serialize manager and worker creation, fixing races due to
           that.
      
         - Clean up some naming that had gone stale.
      
         - SQPOLL fixes.
      
         - Fix race condition around task_work rework that went into this
           merge window.
      
         - Implement unshare. Used for when the original task does unshare(2)
           or setuid/seteuid and friends, drops the original workers and forks
           new ones.
      
         - Drop the only remaining piece of state shuffling we had left, which
           was cred. Move it into issue instead, and we can drop all of that
           code too.
      
         - Kill f_op->flush() usage. That was such a nasty hack that we had
           out of necessity, we no longer need it.
      
         - Following from ->flush() removal, we can also drop various bits of
           ctx state related to SQPOLL and cancelations.
      
         - Fix an issue with IOPOLL retry, which originally was fallout from a
           filemap change (removing iov_iter_revert()), but uncovered an issue
           with iovec re-import too late.
      
         - Fix an issue with system suspend.
      
         - Use xchg() for fallback work, instead of cmpxchg().
      
         - Properly destroy io-wq on exec.
      
         - Add create_io_thread() core helper, and use that in io-wq and
           io_uring. This allows us to remove various silly completion events
           related to thread setup.
      
         - A few error handling fixes.
      
        This should be the grunt of fixes necessary for the new workers, next
        week should be quieter. We've got a pending series from Pavel on
        cancelations, and how tasks and rings are indexed. Outside of that,
        should just be minor fixes. Even with these fixes, we're still killing
        a net ~80 lines"
      
      * tag 'io_uring-5.12-2021-03-05' of git://git.kernel.dk/linux-block: (41 commits)
        io_uring: don't restrict issue_flags for io_openat
        io_uring: make SQPOLL thread parking saner
        io-wq: kill hashed waitqueue before manager exits
        io_uring: clear IOCB_WAITQ for non -EIOCBQUEUED return
        io_uring: don't keep looping for more events if we can't flush overflow
        io_uring: move to using create_io_thread()
        kernel: provide create_io_thread() helper
        io_uring: reliably cancel linked timeouts
        io_uring: cancel-match based on flags
        io-wq: ensure all pending work is canceled on exit
        io_uring: ensure that threads freeze on suspend
        io_uring: remove extra in_idle wake up
        io_uring: inline __io_queue_async_work()
        io_uring: inline io_req_clean_work()
        io_uring: choose right tctx->io_wq for try cancel
        io_uring: fix -EAGAIN retry with IOPOLL
        io-wq: fix error path leak of buffered write hash map
        io_uring: remove sqo_task
        io_uring: kill sqo_dead and sqo submission halting
        io_uring: ignore double poll add on the same waitqueue head
        ...
      f292e873
    • Linus Torvalds's avatar
      Merge tag 'pm-5.12-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 6d47254c
      Linus Torvalds authored
      Pull power management fixes from Rafael Wysocki:
       "These fix the usage of device links in the runtime PM core code and
        update the DTPM (Dynamic Thermal Power Management) feature added
        recently.
      
        Specifics:
      
         - Make the runtime PM core code avoid attempting to suspend supplier
           devices before updating the PM-runtime status of a consumer to
           'suspended' (Rafael Wysocki).
      
         - Fix DTPM (Dynamic Thermal Power Management) root node
           initialization and label that feature as EXPERIMENTAL in Kconfig
           (Daniel Lezcano)"
      
      * tag 'pm-5.12-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        powercap/drivers/dtpm: Add the experimental label to the option description
        powercap/drivers/dtpm: Fix root node initialization
        PM: runtime: Update device status before letting suppliers suspend
      6d47254c
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.12-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · ea6be461
      Linus Torvalds authored
      Pull ACPI fix from Rafael Wysocki:
       "Make the empty stubs of some helper functions used when CONFIG_ACPI is
        not set actually match those functions (Andy Shevchenko)"
      
      * tag 'acpi-5.12-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: bus: Constify is_acpi_node() and friends (part 2)
      ea6be461
    • Linus Torvalds's avatar
      Merge tag 'iommu-fixes-v5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · fc2c8d0a
      Linus Torvalds authored
      Pull iommu fixes from Joerg Roedel:
      
       - Fix a sleeping-while-atomic issue in the AMD IOMMU code
      
       - Disable lazy IOTLB flush for untrusted devices in the Intel VT-d
         driver
      
       - Fix status code definitions for Intel VT-d
      
       - Fix IO Page Fault issue in Tegra IOMMU driver
      
      * tag 'iommu-fixes-v5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
        iommu/vt-d: Fix status code for Allocate/Free PASID command
        iommu: Don't use lazy flush for untrusted device
        iommu/tegra-smmu: Fix mc errors on tegra124-nyan
        iommu/amd: Fix sleeping in atomic in increase_address_space()
      fc2c8d0a
    • Linus Torvalds's avatar
      Merge tag 'for-5.12-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · f09b04cc
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
       "More regression fixes and stabilization.
      
        Regressions:
      
         - zoned mode
            - count zone sizes in wider int types
            - fix space accounting for read-only block groups
      
         - subpage: fix page tail zeroing
      
        Fixes:
      
         - fix spurious warning when remounting with free space tree
      
         - fix warning when creating a directory with smack enabled
      
         - ioctl checks for qgroup inheritance when creating a snapshot
      
         - qgroup
            - fix missing unlock on error path in zero range
            - fix amount of released reservation on error
            - fix flushing from unsafe context with open transaction,
              potentially deadlocking
      
         - minor build warning fixes"
      
      * tag 'for-5.12-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: zoned: do not account freed region of read-only block group as zone_unusable
        btrfs: zoned: use sector_t for zone sectors
        btrfs: subpage: fix the false data csum mismatch error
        btrfs: fix warning when creating a directory with smack enabled
        btrfs: don't flush from btrfs_delayed_inode_reserve_metadata
        btrfs: export and rename qgroup_reserve_meta
        btrfs: free correct amount of space in btrfs_delayed_inode_reserve_metadata
        btrfs: fix spurious free_space_tree remount warning
        btrfs: validate qgroup inherit for SNAP_CREATE_V2 ioctl
        btrfs: unlock extents in btrfs_zero_range in case of quota reservation errors
        btrfs: ref-verify: use 'inline void' keyword ordering
      f09b04cc
    • Linus Torvalds's avatar
      Merge tag 'devicetree-fixes-for-5.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 6bf331d5
      Linus Torvalds authored
      Pull devicetree fixes from Rob Herring:
      
       - Another batch of graph and video-interfaces schema conversions
      
       - Drop DT header symlink for dropped C6X arch
      
       - Fix bcm2711-hdmi schema error
      
      * tag 'devicetree-fixes-for-5.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        dt-bindings: media: Use graph and video-interfaces schemas, round 2
        dts: drop dangling c6x symlink
        dt-bindings: bcm2711-hdmi: Fix broken schema
      6bf331d5
    • Linus Torvalds's avatar
      Merge tag 'trace-v5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 54663cf3
      Linus Torvalds authored
      Pull tracing fixes from Steven Rostedt:
       "Functional fixes:
      
         - Fix big endian conversion for arm64 in recordmcount processing
      
         - Fix timestamp corruption in ring buffer on discarding events
      
         - Fix memory leak in __create_synth_event()
      
         - Skip selftests if tracing is disabled as it will cause them to
           fail.
      
        Non-functional fixes:
      
         - Fix help text in Kconfig
      
         - Remove duplicate prototype for trace_empty()
      
         - Fix stale comment about the trace_event_call flags.
      
        Self test update:
      
         - Add more information to the validation output of when a corrupt
           timestamp is found in the ring buffer, and also trigger a warning
           to make sure that tests catch it"
      
      * tag 'trace-v5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Fix comment about the trace_event_call flags
        tracing: Skip selftests if tracing is disabled
        tracing: Fix memory leak in __create_synth_event()
        ring-buffer: Add a little more information and a WARN when time stamp going backwards is detected
        ring-buffer: Force before_stamp and write_stamp to be different on discard
        tracing: Fix help text of TRACEPOINT_BENCHMARK in Kconfig
        tracing: Remove duplicate declaration from trace.h
        ftrace: Have recordmcount use w8 to read relp->r_info in arm64_is_fake_mcount
      54663cf3
    • Bob Pearson's avatar
      RDMA/rxe: Fix errant WARN_ONCE in rxe_completer() · 545c4ab4
      Bob Pearson authored
      In rxe_comp.c in rxe_completer() the function free_pkt() did not clear skb
      which triggered a warning at 'done:' and could possibly at 'exit:'. The
      WARN_ONCE() calls are not actually needed.  The call to free_pkt() is
      moved to the end to clearly show that all skbs are freed.
      
      Fixes: 899aba89 ("RDMA/rxe: Fix FIXME in rxe_udp_encap_recv()")
      Link: https://lore.kernel.org/r/20210304192048.2958-1-rpearson@hpe.comSigned-off-by: default avatarBob Pearson <rpearsonhpe@gmail.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      545c4ab4