1. 16 Aug, 2023 5 commits
  2. 14 Aug, 2023 9 commits
  3. 31 Jul, 2023 1 commit
    • Paul E. McKenney's avatar
      rcu-tasks: Permit use of debug-objects with RCU Tasks flavors · cb88f7f5
      Paul E. McKenney authored
      Currently, cblist_init_generic() holds a raw spinlock when invoking
      INIT_WORK().  This fails in kernels built with CONFIG_DEBUG_OBJECTS=y
      due to memory allocation being forbidden while holding a raw spinlock.
      But the only reason for holding the raw spinlock is to synchronize
      with early boot calls to call_rcu_tasks(), call_rcu_tasks_rude, and,
      last but not least, call_rcu_tasks_trace().  These calls also invoke
      cblist_init_generic() in order to support early boot queueing of
      callbacks.
      
      Except that there are no early boot calls to either of these three
      functions, and the BPF guys confirm that they have no plans to add any
      such calls.
      
      This commit therefore removes the synchronization and adds a
      WARN_ON_ONCE() to catch the case of now-prohibited early boot RCU Tasks
      callback queueing.
      
      If early boot queueing is needed, an "initialized" flag may be added to
      the rcu_tasks structure.  Then queueing a callback before this flag is set
      would initialize the callback list (if needed) and queue the callback.
      The decision as to where to queue the callback given the possibility of
      non-zero boot CPUs is left as an exercise for the reader.
      Reported-by: default avatarJakub Kicinski <kuba@kernel.org>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      cb88f7f5
  4. 24 Jul, 2023 1 commit
    • Paul E. McKenney's avatar
      checkpatch: Complain about unexpected uses of RCU Tasks Trace · 84dd7f19
      Paul E. McKenney authored
      RCU Tasks Trace is quite specialized, having been created specifically
      for sleepable BPF programs.  Because it allows general blocking within
      readers, any new use of RCU Tasks Trace must take current use cases into
      account.  Therefore, update checkpatch.pl to complain about use of any of
      the RCU Tasks Trace API members outside of BPF and outside of RCU itself.
      
      [ paulmck: Apply Joe Perches feedback. ]
      
      Cc: Andy Whitcroft <apw@canonical.com> (maintainer:CHECKPATCH)
      Cc: Joe Perches <joe@perches.com> (maintainer:CHECKPATCH)
      Cc: Dwaipayan Ray <dwaipayanray1@gmail.com> (reviewer:CHECKPATCH)
      Cc: Lukas Bulwahn <lukas.bulwahn@gmail.com>
      Cc: Alexei Starovoitov <ast@kernel.org>
      Cc: Daniel Borkmann <daniel@iogearbox.net>
      Cc: John Fastabend <john.fastabend@gmail.com>
      Cc: <bpf@vger.kernel.org>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      84dd7f19
  5. 21 Jul, 2023 6 commits
  6. 19 Jul, 2023 2 commits
  7. 14 Jul, 2023 16 commits