1. 07 Jan, 2021 13 commits
    • Frederic Weisbecker's avatar
      rcu/nocb: Shutdown nocb timer on de-offloading · 69cdea87
      Frederic Weisbecker authored
      This commit ensures that the nocb timer is shut down before reaching the
      final de-offloaded state.  The key goal is to prevent the timer handler
      from manipulating the callbacks without the protection of the nocb locks.
      
      Cc: Josh Triplett <josh@joshtriplett.org>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
      Cc: Lai Jiangshan <jiangshanlai@gmail.com>
      Cc: Joel Fernandes <joel@joelfernandes.org>
      Cc: Neeraj Upadhyay <neeraju@codeaurora.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Inspired-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      Tested-by: default avatarBoqun Feng <boqun.feng@gmail.com>
      Signed-off-by: default avatarFrederic Weisbecker <frederic@kernel.org>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      69cdea87
    • Frederic Weisbecker's avatar
      rcu/nocb: Re-offload support · 254e11ef
      Frederic Weisbecker authored
      To re-offload the callback processing off of a CPU, it is necessary to
      clear SEGCBLIST_SOFTIRQ_ONLY, set SEGCBLIST_OFFLOADED, and then notify
      both the CB and GP kthreads so that they both set their own bit flag and
      start processing the callbacks remotely.  The re-offloading worker is
      then notified that it can stop the RCU_SOFTIRQ handler (or rcuc kthread,
      as the case may be) from processing the callbacks locally.
      
      Ordering must be carefully enforced so that the callbacks that used to be
      processed locally without locking will have the same ordering properties
      when they are invoked by the nocb CB and GP kthreads.
      
      This commit makes this change.
      
      Cc: Josh Triplett <josh@joshtriplett.org>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
      Cc: Lai Jiangshan <jiangshanlai@gmail.com>
      Cc: Joel Fernandes <joel@joelfernandes.org>
      Cc: Neeraj Upadhyay <neeraju@codeaurora.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Inspired-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      Tested-by: default avatarBoqun Feng <boqun.feng@gmail.com>
      Signed-off-by: default avatarFrederic Weisbecker <frederic@kernel.org>
      [ paulmck: Export rcu_nocb_cpu_offload(). ]
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      254e11ef
    • Frederic Weisbecker's avatar
      rcu/nocb: De-offloading GP kthread · 5bb39dc9
      Frederic Weisbecker authored
      To de-offload callback processing back onto a CPU, it is necessary
      to clear SEGCBLIST_OFFLOAD and notify the nocb GP kthread, which will
      then clear its own bit flag and ignore this CPU until further notice.
      Whichever of the nocb CB and nocb GP kthreads is last to clear its own
      bit notifies the de-offloading worker kthread.  Once notified, this
      worker kthread can proceed safe in the knowledge that the nocb CB and
      GP kthreads will no longer be manipulating this CPU's RCU callback list.
      
      This commit makes this change.
      
      Cc: Josh Triplett <josh@joshtriplett.org>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
      Cc: Lai Jiangshan <jiangshanlai@gmail.com>
      Cc: Joel Fernandes <joel@joelfernandes.org>
      Cc: Neeraj Upadhyay <neeraju@codeaurora.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Inspired-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      Tested-by: default avatarBoqun Feng <boqun.feng@gmail.com>
      Signed-off-by: default avatarFrederic Weisbecker <frederic@kernel.org>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      5bb39dc9
    • Frederic Weisbecker's avatar
      rcu/nocb: Don't deoffload an offline CPU with pending work · ef005345
      Frederic Weisbecker authored
      Offloaded CPUs do not migrate their callbacks, instead relying on
      their rcuo kthread to invoke them.  But if the CPU is offline, it
      will be running neither its RCU_SOFTIRQ handler nor its rcuc kthread.
      This means that de-offloading an offline CPU that still has pending
      callbacks will strand those callbacks.  This commit therefore refuses
      to toggle offline CPUs having pending callbacks.
      
      Cc: Josh Triplett <josh@joshtriplett.org>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
      Cc: Lai Jiangshan <jiangshanlai@gmail.com>
      Cc: Joel Fernandes <joel@joelfernandes.org>
      Cc: Neeraj Upadhyay <neeraju@codeaurora.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Suggested-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      Tested-by: default avatarBoqun Feng <boqun.feng@gmail.com>
      Signed-off-by: default avatarFrederic Weisbecker <frederic@kernel.org>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      ef005345
    • Frederic Weisbecker's avatar
      rcu/nocb: De-offloading CB kthread · d97b0781
      Frederic Weisbecker authored
      To de-offload callback processing back onto a CPU, it is necessary to
      clear SEGCBLIST_OFFLOAD and notify the nocb CB kthread, which will then
      clear its own bit flag and go to sleep to stop handling callbacks.  This
      commit makes that change.  It will also be necessary to notify the nocb
      GP kthread in this same way, which is the subject of a follow-on commit.
      
      Cc: Josh Triplett <josh@joshtriplett.org>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
      Cc: Lai Jiangshan <jiangshanlai@gmail.com>
      Cc: Joel Fernandes <joel@joelfernandes.org>
      Cc: Neeraj Upadhyay <neeraju@codeaurora.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Inspired-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      Tested-by: default avatarBoqun Feng <boqun.feng@gmail.com>
      Signed-off-by: default avatarFrederic Weisbecker <frederic@kernel.org>
      [ paulmck: Add export per kernel test robot feedback. ]
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      d97b0781
    • Frederic Weisbecker's avatar
      rcu/nocb: Always init segcblist on CPU up · 126d9d49
      Frederic Weisbecker authored
      How the rdp->cblist enabled state is treated at CPU-hotplug time depends
      on whether or not that ->cblist is offloaded.
      
      1) Not offloaded: The ->cblist is disabled when the CPU goes down. All
         its callbacks are migrated and none can to enqueued until after some
         later CPU-hotplug operation brings the CPU back up.
      
      2) Offloaded: The ->cblist is not disabled on CPU down because the CB/GP
         kthreads must finish invoking the remaining callbacks. There is thus
         no need to re-enable it on CPU up.
      
      Since the ->cblist offloaded state is set in stone at boot, it cannot
      change between CPU down and CPU up. So 1) and 2) are symmetrical.
      
      However, given runtime toggling of the offloaded state, there are two
      additional asymmetrical scenarios:
      
      3) The ->cblist is not offloaded when the CPU goes down. The ->cblist
         is later toggled to offloaded and then the CPU comes back up.
      
      4) The ->cblist is offloaded when the CPU goes down. The ->cblist is
         later toggled to no longer be offloaded and then the CPU comes back up.
      
      Scenario 4) is currently handled correctly. The ->cblist remains enabled
      on CPU down and gets re-initialized on CPU up. The toggling operation
      will wait until ->cblist is empty, so ->cblist will remain empty until
      CPU-up time.
      
      The scenario 3) would run into trouble though, as the rdp is disabled
      on CPU down and not re-initialized/re-enabled on CPU up.  Except that
      in this case, ->cblist is guaranteed to be empty because all its
      callbacks were migrated away at CPU-down time.  And the CPU-up code
      already initializes and enables any empty ->cblist structures in order
      to handle the possibility of early-boot invocations of call_rcu() in
      the case where such invocations don't occur.  So all that need be done
      is to adjust the locking.
      
      Cc: Josh Triplett <josh@joshtriplett.org>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
      Cc: Lai Jiangshan <jiangshanlai@gmail.com>
      Cc: Joel Fernandes <joel@joelfernandes.org>
      Cc: Neeraj Upadhyay <neeraju@codeaurora.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Inspired-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      Tested-by: default avatarBoqun Feng <boqun.feng@gmail.com>
      Signed-off-by: default avatarFrederic Weisbecker <frederic@kernel.org>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      126d9d49
    • Frederic Weisbecker's avatar
      rcu/nocb: Provide basic callback offloading state machine bits · 8d346d43
      Frederic Weisbecker authored
      Offloading and de-offloading RCU callback processes must be done
      carefully.  There must never be a time at which callback processing is
      disabled because the task driving the offloading or de-offloading might be
      preempted or otherwise stalled at that point in time, which would result
      in OOM due to calbacks piling up indefinitely.  This implies that there
      will be times during which a given CPU's callbacks might be concurrently
      invoked by both that CPU's RCU_SOFTIRQ handler (or, equivalently, that
      CPU's rcuc kthread) and by that CPU's rcuo kthread.
      
      This situation could fatally confuse both rcu_barrier() and the
      CPU-hotplug offlining process, so these must be excluded during any
      concurrent-callback-invocation period.  In addition, during times of
      concurrent callback invocation, changes to ->cblist must be protected
      both as needed for RCU_SOFTIRQ and as needed for the rcuo kthread.
      
      This commit therefore defines and documents the states for a state
      machine that coordinates offloading and deoffloading.
      
      Cc: Josh Triplett <josh@joshtriplett.org>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
      Cc: Lai Jiangshan <jiangshanlai@gmail.com>
      Cc: Joel Fernandes <joel@joelfernandes.org>
      Cc: Neeraj Upadhyay <neeraju@codeaurora.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Inspired-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      Tested-by: default avatarBoqun Feng <boqun.feng@gmail.com>
      Signed-off-by: default avatarFrederic Weisbecker <frederic@kernel.org>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      8d346d43
    • Frederic Weisbecker's avatar
      rcu/nocb: Turn enabled/offload states into a common flag · 65e56032
      Frederic Weisbecker authored
      This commit gathers the rcu_segcblist ->enabled and ->offloaded property
      field into a single ->flags bitmask to avoid further proliferation of
      individual u8 fields in the structure.  This change prepares for the
      state formerly known as ->offloaded state to be modified at runtime.
      
      Cc: Josh Triplett <josh@joshtriplett.org>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
      Cc: Lai Jiangshan <jiangshanlai@gmail.com>
      Cc: Joel Fernandes <joel@joelfernandes.org>
      Cc: Neeraj Upadhyay <neeraju@codeaurora.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Inspired-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      Tested-by: default avatarBoqun Feng <boqun.feng@gmail.com>
      Signed-off-by: default avatarFrederic Weisbecker <frederic@kernel.org>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      65e56032
    • Joel Fernandes (Google)'s avatar
      rcu/segcblist: Add debug checks for segment lengths · b4e6039e
      Joel Fernandes (Google) authored
      This commit adds debug checks near the end of rcu_do_batch() that emit
      warnings if an empty rcu_segcblist structure has non-zero segment counts,
      or, conversely, if a non-empty structure has all-zero segment counts.
      Signed-off-by: default avatarJoel Fernandes (Google) <joel@joelfernandes.org>
      [ paulmck: Fix queue/segment-length checks. ]
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      b4e6039e
    • Joel Fernandes (Google)'s avatar
      rcu/trace: Add tracing for how segcb list changes · 3afe7fa5
      Joel Fernandes (Google) authored
      This commit adds tracing to track how the segcb list changes before/after
      acceleration, during queuing and during dequeuing.
      
      This tracing helped discover an optimization that avoided needless GP
      requests when no callbacks were accelerated. The tracing overhead is
      minimal as each segment's length is now stored in the respective segment.
      Reviewed-by: default avatarFrederic Weisbecker <frederic@kernel.org>
      Reviewed-by: default avatarNeeraj Upadhyay <neeraju@codeaurora.org>
      Signed-off-by: default avatarJoel Fernandes (Google) <joel@joelfernandes.org>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      3afe7fa5
    • Joel Fernandes (Google)'s avatar
      rcu/tree: segcblist: Remove redundant smp_mb()s · 68804cf1
      Joel Fernandes (Google) authored
      The full memory barriers in rcu_segcblist_enqueue() and in rcu_do_batch()
      are not needed because rcu_segcblist_add_len(), and thus also
      rcu_segcblist_inc_len(), already includes a memory barrier *before*
      and *after* the length of the list is updated.
      
      This commit therefore removes these redundant smp_mb() invocations.
      Reviewed-by: default avatarFrederic Weisbecker <frederic@kernel.org>
      Signed-off-by: default avatarJoel Fernandes (Google) <joel@joelfernandes.org>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      68804cf1
    • Joel Fernandes (Google)'s avatar
      rcu/segcblist: Add counters to segcblist datastructure · ae5c2341
      Joel Fernandes (Google) authored
      Add counting of segment lengths of segmented callback list.
      
      This will be useful for a number of things such as knowing how big the
      ready-to-execute segment have gotten. The immediate benefit is ability
      to trace how the callbacks in the segmented callback list change.
      
      Also this patch remove hacks related to using donecbs's ->len field as a
      temporary variable to save the segmented callback list's length. This cannot be
      done anymore and is not needed.
      
      Also fix SRCU:
      The negative counting of the unsegmented list cannot be used to adjust
      the segmented one. To fix this, sample the unsegmented length in
      advance, and use it after CB execution to adjust the segmented list's
      length.
      Reviewed-by: default avatarFrederic Weisbecker <frederic@kernel.org>
      Signed-off-by: default avatarJoel Fernandes (Google) <joel@joelfernandes.org>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      ae5c2341
    • Joel Fernandes (Google)'s avatar
      rcu/segcblist: Add additional comments to explain smp_mb() · c2e13112
      Joel Fernandes (Google) authored
      One counter-intuitive property of RCU is the fact that full memory
      barriers are needed both before and after updates to the full
      (non-segmented) length.  This patch therefore helps to assist the
      reader's intuition by adding appropriate comments.
      
      [ paulmck:  Wordsmithing. ]
      Signed-off-by: default avatarJoel Fernandes (Google) <joel@joelfernandes.org>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      c2e13112
  2. 04 Jan, 2021 1 commit
    • Joel Fernandes (Google)'s avatar
      rcu/tree: Make rcu_do_batch count how many callbacks were executed · 6bc33582
      Joel Fernandes (Google) authored
      The rcu_do_batch() function extracts the ready-to-invoke callbacks
      from the rcu_segcblist located in the ->cblist field of the current
      CPU's rcu_data structure.  These callbacks are first moved to a local
      (unsegmented) rcu_cblist.  The rcu_do_batch() function then uses this
      rcu_cblist's ->len field to count how many CBs it has invoked, but it
      does so by counting that field down from zero.  Finally, this function
      negates the value in this ->len field (resulting in a positive number)
      and subtracts the result from the ->len field of the current CPU's
      ->cblist field.
      
      Except that it is sometimes necessary for rcu_do_batch() to stop invoking
      callbacks mid-stream, despite there being more ready to invoke, for
      example, if a high-priority task wakes up.  In this case the remaining
      not-yet-invoked callbacks are requeued back onto the CPU's ->cblist,
      but remain in the ready-to-invoke segment of that list.  As above, the
      negative of the local rcu_cblist's ->len field is still subtracted from
      the ->len field of the current CPU's ->cblist field.
      
      The design of counting down from 0 is confusing and error-prone, plus
      use of a positive count will make it easier to provide a uniform and
      consistent API to deal with the per-segment counts that are added
      later in this series.  For example, rcu_segcblist_extract_done_cbs()
      can unconditionally populate the resulting unsegmented list's ->len
      field during extraction.
      
      This commit therefore explicitly counts how many callbacks were executed
      in rcu_do_batch() itself, counting up from zero, and then uses that
      to update the per-CPU segcb list's ->len field, without relying on the
      downcounting of rcl->len from zero.
      Reviewed-by: default avatarFrederic Weisbecker <frederic@kernel.org>
      Reviewed-by: default avatarNeeraj Upadhyay <neeraju@codeaurora.org>
      Signed-off-by: default avatarJoel Fernandes (Google) <joel@joelfernandes.org>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      6bc33582
  3. 27 Dec, 2020 8 commits
  4. 26 Dec, 2020 5 commits
  5. 25 Dec, 2020 5 commits
    • Linus Torvalds's avatar
      drm/amd/display: avoid uninitialized variable warning · 61d79136
      Linus Torvalds authored
      clang (quite rightly) complains fairly loudly about the newly added
      mpc1_get_mpc_out_mux() function returning an uninitialized value if the
      'opp_id' checks don't pass.
      
      This may not happen in practice, but the code really shouldn't return
      garbage if the sanity checks don't pass.
      
      So just initialize 'val' to zero to avoid the issue.
      
      Fixes: 110b055b ("drm/amd/display: add getter routine to retrieve mpcc mux")
      Cc: Josip Pavic <Josip.Pavic@amd.com>
      Cc: Bindu Ramamurthy <bindu.r@amd.com>
      Cc: Alex Deucher <alexander.deucher@amd.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      61d79136
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-2020-12-24' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux · 5814bc2d
      Linus Torvalds authored
      Pull more perf tools updates from Arnaldo Carvalho de Melo:
      
       - Refactor 'perf stat' per CPU/socket/die/thread aggregation fixing use
         cases in ARM machines.
      
       - Fix memory leak when synthesizing SDT probes in 'perf probe'.
      
       - Update kernel header copies related to KVM, epol_pwait. msr-index and
         powerpc and s390 syscall tables.
      
      * tag 'perf-tools-2020-12-24' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux: (24 commits)
        perf probe: Fix memory leak when synthesizing SDT probes
        perf stat aggregation: Add separate thread member
        perf stat aggregation: Add separate core member
        perf stat aggregation: Add separate die member
        perf stat aggregation: Add separate socket member
        perf stat aggregation: Add separate node member
        perf stat aggregation: Start using cpu_aggr_id in map
        perf cpumap: Drop in cpu_aggr_map struct
        perf cpumap: Add new map type for aggregation
        perf stat: Replace aggregation ID with a struct
        perf cpumap: Add new struct for cpu aggregation
        perf cpumap: Use existing allocator to avoid using malloc
        perf tests: Improve topology test to check all aggregation types
        perf tools: Update s390's syscall.tbl copy from the kernel sources
        perf tools: Update powerpc's syscall.tbl copy from the kernel sources
        perf s390: Move syscall.tbl check into check-headers.sh
        perf powerpc: Move syscall.tbl check to check-headers.sh
        tools headers UAPI: Synch KVM's svm.h header with the kernel
        tools kvm headers: Update KVM headers from the kernel sources
        tools headers UAPI: Sync KVM's vmx.h header with the kernel sources
        ...
      5814bc2d
    • Linus Torvalds's avatar
      Merge branch 'for-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/jlawall/linux · 42dc45e8
      Linus Torvalds authored
      Pull coccinelle updates from Julia Lawall.
      
      * 'for-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/jlawall/linux:
        scripts: coccicheck: Correct usage of make coccicheck
        coccinelle: update expiring email addresses
        coccinnelle: Remove ptr_ret script
        kbuild: do not use scripts/ld-version.sh for checking spatch version
        remove boolinit.cocci
      42dc45e8
    • Michael Ellerman's avatar
      genirq: Fix export of irq_to_desc() for powerpc KVM · 11cc92eb
      Michael Ellerman authored
      Commit 64a1b95b ("genirq: Restrict export of irq_to_desc()") removed
      the export of irq_to_desc() unless powerpc KVM is being built, because
      there is still a use of irq_to_desc() in modular code there.
      
      However it used:
      
        #ifdef CONFIG_KVM_BOOK3S_64_HV
      
      Which doesn't work when that symbol is =m, leading to a build failure:
      
        ERROR: modpost: "irq_to_desc" [arch/powerpc/kvm/kvm-hv.ko] undefined!
      
      Fix it by checking for the definedness of the correct symbol which is
      CONFIG_KVM_BOOK3S_64_HV_MODULE.
      
      Fixes: 64a1b95b ("genirq: Restrict export of irq_to_desc()")
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      11cc92eb
    • Linus Torvalds's avatar
      Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 7bb5226c
      Linus Torvalds authored
      Pull misc vfs updates from Al Viro:
       "Assorted patches from previous cycle(s)..."
      
      * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        fix hostfs_open() use of ->f_path.dentry
        Make sure that make_create_in_sticky() never sees uninitialized value of dir_mode
        fs: Kill DCACHE_DONTCACHE dentry even if DCACHE_REFERENCED is set
        fs: Handle I_DONTCACHE in iput_final() instead of generic_drop_inode()
        fs/namespace.c: WARN if mnt_count has become negative
      7bb5226c
  6. 24 Dec, 2020 8 commits
    • Linus Torvalds's avatar
      Merge tag 'docs-5.11-2' of git://git.lwn.net/linux · 71c5f031
      Linus Torvalds authored
      Pull documentation fixes from Jonathan Corbet:
       "A small set of late-arriving, small documentation fixes"
      
      * tag 'docs-5.11-2' of git://git.lwn.net/linux:
        docs: admin-guide: Fix default value of max_map_count in sysctl/vm.rst
        Documentation/submitting-patches: Document the SoB chain
        Documentation: process: Correct numbering
        docs: submitting-patches: Trivial - fix grammatical error
      71c5f031
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 555a6e8c
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
       "Various bug fixes and cleanups for ext4; no new features this cycle"
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (29 commits)
        ext4: remove unnecessary wbc parameter from ext4_bio_write_page
        ext4: avoid s_mb_prefetch to be zero in individual scenarios
        ext4: defer saving error info from atomic context
        ext4: simplify ext4 error translation
        ext4: move functions in super.c
        ext4: make ext4_abort() use __ext4_error()
        ext4: standardize error message in ext4_protect_reserved_inode()
        ext4: remove redundant sb checksum recomputation
        ext4: don't remount read-only with errors=continue on reboot
        ext4: fix deadlock with fs freezing and EA inodes
        jbd2: add a helper to find out number of fast commit blocks
        ext4: make fast_commit.h byte identical with e2fsprogs/fast_commit.h
        ext4: fix fall-through warnings for Clang
        ext4: add docs about fast commit idempotence
        ext4: remove the unused EXT4_CURRENT_REV macro
        ext4: fix an IS_ERR() vs NULL check
        ext4: check for invalid block size early when mounting a file system
        ext4: fix a memory leak of ext4_free_data
        ext4: delete nonsensical (commented-out) code inside ext4_xattr_block_set()
        ext4: update ext4_data_block_valid related comments
        ...
      555a6e8c
    • Linus Torvalds's avatar
      Merge tag 'Smack-for-5.11-io_uring-fix' of git://github.com/cschaufler/smack-next · 2f2fce3d
      Linus Torvalds authored
      Pull smack fix from Casey Schaufler:
       "Provide a fix for the incorrect handling of privilege in the face of
        io_uring's use of kernel threads. That invalidated an long standing
        assumption regarding the privilege of kernel threads.
      
        The fix is simple and safe. It was provided by Jens Axboe and has been
        tested"
      
      * tag 'Smack-for-5.11-io_uring-fix' of git://github.com/cschaufler/smack-next:
        Smack: Handle io_uring kernel thread privileges
      2f2fce3d
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-5.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · 7a2fde8d
      Linus Torvalds authored
      Pull RISC-V fix from Palmer Dabbelt
       "Avoid trying to initialize memory regions outside the usable range"
      
      * tag 'riscv-for-linus-5.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
        RISC-V: Fix usage of memblock_enforce_memory_limit
      7a2fde8d
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 9b3f7f1b
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
      
       - Four commits fixing various things in the new C VDSO code
      
       - One fix for a 32-bit VMAP stack bug
      
       - Two minor build fixes
      
      Thanks to Cédric Le Goater, Christophe Leroy, and Will Springer.
      
      * tag 'powerpc-5.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/32: Fix vmap stack - Properly set r1 before activating MMU on syscall too
        powerpc/vdso: Fix DOTSYM for 32-bit LE VDSO
        powerpc/vdso: Don't pass 64-bit ABI cflags to 32-bit VDSO
        powerpc/vdso: Block R_PPC_REL24 relocations
        powerpc/smp: Add __init to init_big_cores()
        powerpc/time: Force inlining of get_tb()
        powerpc/boot: Fix build of dts/fsl
      9b3f7f1b
    • Linus Torvalds's avatar
      Merge tag 'irq-core-2020-12-23' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3913d00a
      Linus Torvalds authored
      Pull irq updates from Thomas Gleixner:
       "This is the second attempt after the first one failed miserably and
        got zapped to unblock the rest of the interrupt related patches.
      
        A treewide cleanup of interrupt descriptor (ab)use with all sorts of
        racy accesses, inefficient and disfunctional code. The goal is to
        remove the export of irq_to_desc() to prevent these things from
        creeping up again"
      
      * tag 'irq-core-2020-12-23' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (30 commits)
        genirq: Restrict export of irq_to_desc()
        xen/events: Implement irq distribution
        xen/events: Reduce irq_info:: Spurious_cnt storage size
        xen/events: Only force affinity mask for percpu interrupts
        xen/events: Use immediate affinity setting
        xen/events: Remove disfunct affinity spreading
        xen/events: Remove unused bind_evtchn_to_irq_lateeoi()
        net/mlx5: Use effective interrupt affinity
        net/mlx5: Replace irq_to_desc() abuse
        net/mlx4: Use effective interrupt affinity
        net/mlx4: Replace irq_to_desc() abuse
        PCI: mobiveil: Use irq_data_get_irq_chip_data()
        PCI: xilinx-nwl: Use irq_data_get_irq_chip_data()
        NTB/msi: Use irq_has_action()
        mfd: ab8500-debugfs: Remove the racy fiddling with irq_desc
        pinctrl: nomadik: Use irq_has_action()
        drm/i915/pmu: Replace open coded kstat_irqs() copy
        drm/i915/lpe_audio: Remove pointless irq_to_desc() usage
        s390/irq: Use irq_desc_kstat_cpu() in show_msi_interrupt()
        parisc/irq: Use irq_desc_kstat_cpu() in show_interrupts()
        ...
      3913d00a
    • Linus Torvalds's avatar
      Merge tag 'efi_updates_for_v5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4a1106af
      Linus Torvalds authored
      Pull EFI updates from Borislav Petkov:
       "These got delayed due to a last minute ia64 build issue which got
        fixed in the meantime.
      
        EFI updates collected by Ard Biesheuvel:
      
         - Don't move BSS section around pointlessly in the x86 decompressor
      
         - Refactor helper for discovering the EFI secure boot mode
      
         - Wire up EFI secure boot to IMA for arm64
      
         - Some fixes for the capsule loader
      
         - Expose the RT_PROP table via the EFI test module
      
         - Relax DT and kernel placement restrictions on ARM
      
        with a few followup fixes:
      
         - fix the build breakage on IA64 caused by recent capsule loader
           changes
      
         - suppress a type mismatch build warning in the expansion of
           EFI_PHYS_ALIGN on ARM"
      
      * tag 'efi_updates_for_v5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        efi: arm: force use of unsigned type for EFI_PHYS_ALIGN
        efi: ia64: disable the capsule loader
        efi: stub: get rid of efi_get_max_fdt_addr()
        efi/efi_test: read RuntimeServicesSupported
        efi: arm: reduce minimum alignment of uncompressed kernel
        efi: capsule: clean scatter-gather entries from the D-cache
        efi: capsule: use atomic kmap for transient sglist mappings
        efi: x86/xen: switch to efi_get_secureboot_mode helper
        arm64/ima: add ima_arch support
        ima: generalize x86/EFI arch glue for other EFI architectures
        efi: generalize efi_get_secureboot
        efi/libstub: EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER should not default to yes
        efi/x86: Only copy the compressed kernel image in efi_relocate_kernel()
        efi/libstub/x86: simplify efi_is_native()
      4a1106af
    • Linus Torvalds's avatar
      Merge tag 'io_uring-5.11-2020-12-23' of git://git.kernel.dk/linux-block · 60e8edd2
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
       "All straight fixes, or a prep patch for a fix, either bound for stable
        or fixing issues from this merge window. In particular:
      
         - Fix new shutdown op not breaking links on failure
      
         - Hold mm->mmap_sem for mm->locked_vm manipulation
      
         - Various cancelation fixes (me, Pavel)
      
         - Fix error path potential double ctx free (Pavel)
      
         - IOPOLL fixes (Xiaoguang)"
      
      * tag 'io_uring-5.11-2020-12-23' of git://git.kernel.dk/linux-block:
        io_uring: hold uring_lock while completing failed polled io in io_wq_submit_work()
        io_uring: fix double io_uring free
        io_uring: fix ignoring xa_store errors
        io_uring: end waiting before task cancel attempts
        io_uring: always progress task_work on task cancel
        io-wq: kill now unused io_wq_cancel_all()
        io_uring: make ctx cancel on exit targeted to actual ctx
        io_uring: fix 0-iov read buffer select
        io_uring: close a small race gap for files cancel
        io_uring: fix io_wqe->work_list corruption
        io_uring: limit {io|sq}poll submit locking scope
        io_uring: inline io_cqring_mark_overflow()
        io_uring: consolidate CQ nr events calculation
        io_uring: remove racy overflow list fast checks
        io_uring: cancel reqs shouldn't kill overflow list
        io_uring: hold mmap_sem for mm->locked_vm manipulation
        io_uring: break links on shutdown failure
      60e8edd2