On Mon, Oct 11, 2021 at 04:51:29PM +0200, Frederic Weisbecker wrote: > Hi, > > No code change in this v2, only changelogs: > > * Add tags from Valentin and Sebastian > > * Remove last reference to SEGCBLIST_SOFTIRQ_ONLY (thanks Valentin) > > * Rewrite changelog for "rcu/nocb: Check a stable offloaded state to manipulate qlen_last_fqs_check" > after off-list debates with Paul. > > * Remove the scenario with softirq interrupting rcuc on > "rcu/nocb: Limit number of softirq callbacks only on softirq" as it's > probably not possible (thanks Valentin). > > * Remove the scenario with task spent scheduling out accounted on tlimit > as it's not possible (thanks Valentin) > (see "rcu: Apply callbacks processing time limit only on softirq") > > * Fixed changelog of > "rcu/nocb: Don't invoke local rcu core on callback overload from nocb kthread" > (thanks Sebastian). > > git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git > rcu/rt-v2 > > HEAD: 2c9349986d5f70a555195139665841cd98e9aba4 > > Thanks, > Frederic Nice! I queued these for further review and testing. I reworked the commit log of 6/11 to give my idea of the reason, though I freely admit that this reason is not as compelling as it no doubt seemed when I wrote that code. Thanx, Paul > --- > > Frederic Weisbecker (10): > rcu/nocb: Make local rcu_nocb_lock_irqsave() safe against concurrent deoffloading > rcu/nocb: Prepare state machine for a new step > rcu/nocb: Invoke rcu_core() at the start of deoffloading > rcu/nocb: Make rcu_core() callbacks acceleration (de-)offloading safe > rcu/nocb: Check a stable offloaded state to manipulate qlen_last_fqs_check > rcu/nocb: Use appropriate rcu_nocb_lock_irqsave() > rcu/nocb: Limit number of softirq callbacks only on softirq > rcu: Fix callbacks processing time limit retaining cond_resched() > rcu: Apply callbacks processing time limit only on softirq > rcu/nocb: Don't invoke local rcu core on callback overload from nocb kthread > > Thomas Gleixner (1): > rcu/nocb: Make rcu_core() callbacks acceleration preempt-safe > > > include/linux/rcu_segcblist.h | 51 ++++++++++++++++++------- > kernel/rcu/rcu_segcblist.c | 10 ++--- > kernel/rcu/rcu_segcblist.h | 12 +++--- > kernel/rcu/tree.c | 87 +++++++++++++++++++++++++++++-------------- > kernel/rcu/tree.h | 16 +++++--- > kernel/rcu/tree_nocb.h | 29 ++++++++++++--- > 6 files changed, 141 insertions(+), 64 deletions(-)