Re: recent FreeBSD 13.0-CURRENT has fans screaming again on PowerMac quad

Mark Millard via freebsd-ppc <[email protected]>
Newsgroups gmane.os.freebsd.devel.ppc
Message-ID <[email protected]>

On 2020-Jun-19, at 07:34, Justin Hibbits <chmeeedalf at gmail.com> wrote:

>> . . .
> 
> If it's SMP timebase sync related, the problem actually looks
> relatively easy to solve, at least for G4 and PowerMac11,2 G5's
> (PowerMac7,3 looks trickier), from examining the Linux source and the
> OFW device tree.  The PowerMac11,2 (which the Quad is), and the G4s,
> use a GPIO to disable and enable the timebase, so a very similar thing
> can be done with the powermac platform driver as is done with the
> mpc85xx platform driver, which effectively is:
> 
>  All CPUs rendezvous in the smp_timebase_sync() function
>  BSP disables timebase, sets the timebase sync to non-zero
>  APs check for non-zero timebase, set their timebases to it
>  All CPUs rendezvous at the end
>  BSP re-enables timebase, and unleashes CPUs
> 
> A couple hours of work for someone with the hardware, I'd say.  I can
> probably provide a patch to be tested by someone in the next few days,
> if someone else doesn't get around to it first.
> 

I look forward to seeing how some of the 4 uses
of platform_smp_timebase_sync ends up being
adjusted/replaced/removed/... :

static void cpu_mp_unleash(void *dummy) does: platform_smp_timebase_sync(ap_timebase, 0)
       void machdep_ap_bootstrap(void)  does: platform_smp_timebase_sync(ap_timebase, 1)
       void cpu_sleep()                 does: platform_smp_timebase_sync(timebase, 0)
       void cpudep_ap_setup()           does: platform_smp_timebase_sync(0, 1)

(That last has a comment reporting: /* The following is needed for restoring from sleep. */)

Hopefully I'll learn some of what I did not figure out
in other respects as well.


===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)

_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ppc
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.