From owner-freebsd-arm@freebsd.org Thu Jun 7 18:30:16 2018 Return-Path: Delivered-To: freebsd-arm@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E1A7BFE78F3 for ; Thu, 7 Jun 2018 18:30:15 +0000 (UTC) (envelope-from fbsd@www.zefox.net) Received: from www.zefox.net (www.zefox.net [50.1.20.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "www.zefox.org", Issuer "www.zefox.org" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 5A1337849E for ; Thu, 7 Jun 2018 18:30:15 +0000 (UTC) (envelope-from fbsd@www.zefox.net) Received: from www.zefox.net (localhost [127.0.0.1]) by www.zefox.net (8.15.2/8.15.2) with ESMTPS id w57IUR38095245 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Thu, 7 Jun 2018 11:30:28 -0700 (PDT) (envelope-from fbsd@www.zefox.net) Received: (from fbsd@localhost) by www.zefox.net (8.15.2/8.15.2/Submit) id w57IUQR0095244; Thu, 7 Jun 2018 11:30:26 -0700 (PDT) (envelope-from fbsd) Date: Thu, 7 Jun 2018 11:30:26 -0700 From: bob prohaska To: Konstantin Belousov Cc: Ronald Klop , freebsd-arm@freebsd.org, bob prohaska Subject: Re: panic: Assertion td->td_lock == TDQ_LOCKPTR(tdq) failed at /usr/src/sys/kern/sched_ule.c:2137 Message-ID: <20180607183025.GA95066@www.zefox.net> References: <20180601154153.GA62632@www.zefox.net> <20180602091606.63a1ab37.freebsd.ed.lists@sumeritec.com> <20180602150549.GA68197@www.zefox.net> <20180602193255.GA68908@www.zefox.net> <20180602210450.GK3789@kib.kiev.ua> <20180603121712.GL3789@kib.kiev.ua> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180603121712.GL3789@kib.kiev.ua> User-Agent: Mutt/1.5.24 (2015-08-30) X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Jun 2018 18:30:16 -0000 On Sun, Jun 03, 2018 at 03:17:12PM +0300, Konstantin Belousov wrote: > > On Sat, 02 Jun 2018 23:04:50 +0200, Konstantin Belousov > > 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