Date: Wed, 1 Apr 2020 20:03:25 -0700 From: Mark Millard <marklmi@yahoo.com> To: Ian Lepore <ian@freebsd.org>, Thomas Skibo <thomas-bsd@skibo.net> Cc: freebsd-arm <freebsd-arm@freebsd.org>, FreeBSD Current <freebsd-current@freebsd.org>, Conrad Meyer <cem@freebsd.org> Subject: Re: FYI: artifact-based head bisect and OPi+2e (an armv7): -r359311 fails to boot but -r359309 boots (kernel substitutions) Message-ID: <F4EBDF0F-24DC-47FD-9177-5BC407AFA39F@yahoo.com> In-Reply-To: <85cab8fe92c87458be8e3c66d4071b3f6e3158ba.camel@freebsd.org> References: <221A0E27-6A0F-4136-AB76-2D6664279363.ref@yahoo.com> <221A0E27-6A0F-4136-AB76-2D6664279363@yahoo.com> <20200329164422.GA68768@bentley> <85cab8fe92c87458be8e3c66d4071b3f6e3158ba.camel@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2020-Mar-29, at 10:58, Ian Lepore <ian@freebsd.org> wrote: > On Sun, 2020-03-29 at 09:44 -0700, Thomas Skibo wrote: >> On Sun, Mar 29, 2020 at 12:29:00AM -0700, Mark Millard via freebsd- >> arm wrote: >>> While trying to update the head version >>> in use I ran into boot hangups on the >>> OrangePi+ 2e and did an approximate >>> bisect of artificact.freebsd.org kernels >>> to find approximately which kernel >>> version the issue started at. >>> >>> I found that head -r359309 boots and >>> -r359311 fails (shown later below). >>> The original update attempt was from >>> -r359966 to -r359376 and -r359376 >>> stopped there as well. (I kept world >>> there and varied the kernel version >>> for the approximate bisect activity.) >>> >>> It seems that at least one of the >>> "MI-namespace" atomics added do not work >>> in all its usage-contexts on the cortexA7 >>> (armv7) involved. >> >> It looks like my previous reply didn't go to the mailing lists. I'm >> new to >> mutt. >> >> Anyway, I looked at this problem yesterday and it seems r359311 >> enables >> using some atomic operations that were not being used until now. In >> particular, atomic_fcmpset_8() seems broken and hangs up >> in vm_page_bits_swap(). I think I have a fix but I want to run it >> by Ian. >> >> --Thomas >> >> Index: sys/arm/include/atomic-v6.h >> =================================================================== >> --- sys/arm/include/atomic-v6.h (revision 359412) >> +++ sys/arm/include/atomic-v6.h (working copy) >> @@ -196,7 +196,7 @@ >> \ >> __asm __volatile( \ >> "1: ldrex" SUF " %[tmp], [%[ptr]] \n" \ >> - " ldr %[ret], [%[oldv]] \n" \ >> + " ldr" SUF " %[ret], [%[oldv]] \n" \ >> " teq %[tmp], %[ret] \n" \ >> " ittee ne \n" \ >> " str" SUF "ne %[tmp], [%[oldv]] \n" \ >> > > > I've committed this fix as r359423, thanks! Thanks to both of you: the OPi+2e boots just fine now and has been operating like it used to (head -r359427 in use). === Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F4EBDF0F-24DC-47FD-9177-5BC407AFA39F>