lkml.org 
[lkml]   [2021]   [Aug]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] rcutorture: Avoid problematic critical section nesting on RT
On 2021-08-19 23:11:12 [-0500], Scott Wood wrote:
> On Thu, 2021-08-19 at 11:20 -0700, Paul E. McKenney wrote:
> > On Thu, Aug 19, 2021 at 05:47:08PM +0200, Sebastian Andrzej Siewior wrote:
> > > On 2021-08-19 17:39:29 [+0200], To Paul E. McKenney wrote:
> > > > + /*
> > > > + * Ideally these sequences would be detected in debug builds
> > > > + * (regardless of RT), but until then don't stop testing
> > > > + * them on non-RT.
> > > > + */
> > > > + if (IS_ENABLED(CONFIG_PREEMPT_RT)) {
> > > > + /*
> > > > + * Can't release the outermost rcu lock in an irq disabled
> > > > + * section without preemption also being disabled, if irqs
> > > > + * had ever been enabled during this RCU critical section
> > > > + * (could leak a special flag and delay reporting the qs).
> > > > + */
> > > > + if ((oldmask & RCUTORTURE_RDR_RCU) &&
> > > > + (mask & RCUTORTURE_RDR_IRQ) &&
> > > > + !(mask & preempts))
> > > > + mask |= RCUTORTURE_RDR_RCU;
> > >
> > > This piece above, I don't understand. I had it running for a while and
> > > it didn't explode. Let me try TREE01 for 30min without that piece.
> >
> > This might be historical. There was a time when interrupts being
> > disabled across rcu_read_unlock() meant that preemption had to have
> > been disabled across the entire RCU read-side critical section.
> >
> > I am not seeing a purpose for it now, but I could easily be missing
> > something, especially given my tenuous grasp of RT.
>
> Yeah, I think this was to deal with not having the irq work stuff in RT
> at the time.

Good. Thank you for the confirmation.
I run (without the hunk above) 2x 6h of TREE01 and 4x 6h of TREE06 and
it looked good.

> -Scott

Sebastian

\
 
 \ /
  Last update: 2021-08-20 09:12    [W:0.077 / U:0.516 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site