panic: Assertion td->td_lock == TDQ_LOCKPTR(tdq) failed at /usr/src/sys/kern/sched_ule.c:2137

bob prohaska fbsd at www.zefox.net
Thu Jun 7 18:30:16 UTC 2018


On Sun, Jun 03, 2018 at 03:17:12PM +0300, Konstantin Belousov wrote:
> > On Sat, 02 Jun 2018 23:04:50 +0200, Konstantin Belousov  
> > <kostikbel at gmail.com> wrote:
> > 
> > >
> > > diff --git a/sys/arm64/arm64/swtch.S b/sys/arm64/arm64/swtch.S
> > > index c9843303b1d..4c2c3aca583 100644
> > > --- a/sys/arm64/arm64/swtch.S
> > > +++ b/sys/arm64/arm64/swtch.S
> > > @@ -165,10 +165,9 @@ ENTRY(cpu_switch)
> > >  	mov	x0, x19
> > > 	/*
> > > -	 * Release the old thread. This doesn't need to be a store-release
> > > -	 * as the above dsb instruction will provide release semantics.
> > > +	 * Release the old thread.
> > >  	 */
> > > -	str	x2, [x0, #TD_LOCK]
> > > +	stlr	x2, [x0, #TD_LOCK]
> > >  #if defined(SCHED_ULE) && defined(SMP)
> > >  	/* Spin if TD_LOCK points to a blocked_lock */
> > >  	ldr	x2, =_C_LABEL(blocked_lock)
> > 

Has this been committed to -current? If not, I'm game to try it
but will need some more detailed instructions; it doesn't look
like something applied by saving to a file and feeding it to patch.

Thanks for reading,

bob prohaska



More information about the freebsd-arm mailing list