On Fri, Jun 12, 2020 at 09:34:56PM +0200, Thomas Gleixner wrote: > Thomas Gleixner <tglx@xxxxxxxxxxxxx> writes: > > > "Paul E. McKenney" <paulmck@xxxxxxxxxx> writes: > >> On Fri, Jun 12, 2020 at 10:49:53AM -0700, Paul E. McKenney wrote: > >>> I will therefore address this issue in a follow-on patch. > >> > >> I should add that -your- patch from yesterday did -not- cause this > >> problem, in case that is of interest. > > > > So I still can add it back and amend the changelog and comment: > > > > Change the condition from !rcu_is_watching() to is_idle_task(current) || > > rcu_is_watching() which enforces that interrupts in the idle task > > unconditionally invoke rcu_irq_enter() independent of the RCU state. For > > most scenarios is_idle_task() would be sufficient but Task RCU needs it > > according to Paul. > > After talking to Paul some more we came to the conclusion that the > failure scenario of task rcu is not completely clear and the trigger > scenario is obscure enough. This needs more investigation and the > important part which we were chasing is fixed and agreed on. So I go > with the simple version now and Paul will follow up once it can be > properly explained. So the whole TASKS03 failure issue turned out to be me applying the wrong patches onto the wrong commits. Retesting with -tip x86/entry passes TASKS03, as in more than 100 instances of it. I am rerunning the whole stack, but I don't see the need to wait for that. (I will be running increasingly long tests over Friday night, Pacific Time.) Thanx, Paul