Date: Sun, 24 Jun 2018 23:58:30 +0300 From: Konstantin Belousov <kostikbel@gmail.com> To: Ronald Klop <ronald-lists@klop.ws> Cc: Warner Losh <imp@bsdimp.com>, freebsd-arm@freebsd.org Subject: Re: panic: Assertion td->td_lock == TDQ_LOCKPTR(tdq) failed at /usr/src/sys/kern/sched_ule.c:2137 Message-ID: <20180624205830.GA2430@kib.kiev.ua> In-Reply-To: <op.zk4r9uq1kndu52@klop.ws> References: <op.zjvyeypwkndu52@klop.ws> <20180601154153.GA62632@www.zefox.net> <20180602091606.63a1ab37.freebsd.ed.lists@sumeritec.com> <20180602150549.GA68197@www.zefox.net> <CANCZdfq%2BFp6=NDSQB0G9z1L7StcueupzvUiuNs9L-TgTQL=wzA@mail.gmail.com> <20180602193255.GA68908@www.zefox.net> <CANCZdfpJ7hL_dnJd5kyMkhdT21LnXWxch7ztmN%2BrTk90F53WjQ@mail.gmail.com> <20180602210450.GK3789@kib.kiev.ua> <op.zk4r9uq1kndu52@klop.ws>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Jun 24, 2018 at 10:52:32PM +0200, Ronald Klop wrote: > On Sat, 02 Jun 2018 23:04:50 +0200, Konstantin Belousov > <kostikbel@gmail.com> wrote: > > > On Sat, Jun 02, 2018 at 02:39:00PM -0600, Warner Losh wrote: > >> On Sat, Jun 2, 2018, 1:32 PM bob prohaska <fbsd@www.zefox.net> wrote: > >> > >> > On Sat, Jun 02, 2018 at 09:14:18AM -0600, Warner Losh wrote: > >> > > > >> > > Do you have r334508? It fixes the OOM falsely triggering. > >> > > > >> > At the moment sources are at 334456, world and kernel are at > >> > 334276. > >> > > >> > Might it be feasible to stop the present buildworld, update > >> > sources and then try to build a new kernel before building > >> > world? > >> > > >> > >> That's recent enough that you should be fine. There might be an lld vs > >> binutils ld issue. There was on i386 recently, but I think it was i386 > >> specific. It's a good risk. > > > > This happens on arm64 ? In fact, try this. > > I did not even compiled the change. > > > > 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) > > Hi, this patch was committed in r334851. Thanks for that. > I just wanted to note that since I'm running a GENERIC-NODEBUG kernel of > 333449 (before the commit) I have not seen the TDQ_LOCKPTR panics anymore. > While the RPI3B+ has been compiling quite heavy. > > So, my question, is it expected that the panic does not occur (or far > less) with a -NODEBUG kernel? Kernel without INVARIANTS does not have asserts compiled in.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20180624205830.GA2430>