Date: Mon, 27 Jan 2020 13:49:48 +0000 From: Francis Little <oggy@farscape.co.uk> To: Mark Millard <marklmi@yahoo.com> Cc: FreeBSD PowerPC ML <freebsd-ppc@freebsd.org> Subject: Re: I have submitted https://reviews.freebsd.org/D23376 for avoiding the PowerMac threads-stuck-sleeping issue Message-ID: <CAGSRtz6T932ud8YA-2iyD5m38MO39dSMySqRbcFkyfea9GqW6A@mail.gmail.com> In-Reply-To: <1EDABAB4-87F5-4C8E-A7B9-9143D520BDE0@yahoo.com> References: <1EDABAB4-87F5-4C8E-A7B9-9143D520BDE0.ref@yahoo.com> <1EDABAB4-87F5-4C8E-A7B9-9143D520BDE0@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Building Kernel with this patch applied, running without SMP currently - so will take a while! Will re-enable SMP and report back after it's built. (Resend, forgot to CC the list!) Regards On Sun, 26 Jan 2020 at 23:28, Mark Millard via freebsd-ppc < freebsd-ppc@freebsd.org> wrote: > I've described my first ever reviews.freebsd.org/D????? > submittal with: > > QUOTE > REVISION SUMMARY > Explicitly initialize the bsp's TB value early on. For PowerMacs with > multiple sockets or cores only, have machdep_ap_bootstrap for each ap make > a round trip with the bsp to get a current bsp's TB value and then shift > the ap's time so that the midpoint of the shifted round tip interval > approximately matches the TB value the bsp supplied. The round trips and > data transfers use a memory protocol. > > For non-PowerMacs, do the old way for the ap's. > > TEST PLAN > I've been running based on the patches being invovled since late 2019-May > or so: PowerMac11,2 with 2 sockets, 2 cores each, and PowerMac3,6 with 2 > sockets, 1 core each. No examples of 1 socket with 2 cores, unfortunately. > No examples of powerpc64 or powerpc non-PowerMacs either. I do use the same > source tree to build for amd64, aarch64, and armv7 and they have been > working too. But the patch material is extracted from a source tree that > has more local changes: the testing has not been with only these changes. > > I've not had any examples of the stuck-sleeping issue since adopting > these changes. Nor have I had new problems from the changes. > END QUOTE > > > A summary of my changes is: > > > Part 0: > Avoid interrupts messing up mttb use: > > sys/powerpc/include/cpufunc.h > > > Part 1: > Enable the "alternate_timebase_sync_style" indicator > only for PowerMacs: > > sys/powerpc/powermac/platform_powermac.c > > > Part 2: > The code supporting machdep_ap_bootstrap's part of the > hard work, including the changes to machdep_ap_bootstrap: > > sys/powerpc/powerpc/mp_machdep.c > > > Part 3: > Making sure that the bsp follows the rule: > "The TB is a volatile resource and must be initialized during reset." > > sys/powerpc/powerpc/machdep.c > > > > > I'll note that I'm not style(9) literate/familiar and at the time > my capacity went to investigating the problem and potential solutions, > not to style(9). So, once a technique is classified as okay, how > it is written in the source would need its own round of work, > presuming my submittal does not inspire a separate fix by someone. > > === > Mark Millard > marklmi at yahoo.com > ( dsl-only.net went > away in early 2018-Mar) > > _______________________________________________ > freebsd-ppc@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-ppc > To unsubscribe, send any mail to "freebsd-ppc-unsubscribe@freebsd.org" >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGSRtz6T932ud8YA-2iyD5m38MO39dSMySqRbcFkyfea9GqW6A>