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

Michael Tuexen tuexen at freebsd.org
Fri Jun 19 15:22:19 UTC 2020


> On 19. Jun 2020, at 16:34, Justin Hibbits <chmeeedalf at gmail.com> wrote:
> 
> On Fri, 19 Jun 2020 15:55:30 +0200
> Michael Tuexen <tuexen at freebsd.org> wrote:
> 
>>> On 19. Jun 2020, at 14:22, Dennis Clarke via freebsd-ppc
>>> <freebsd-ppc at freebsd.org> wrote:
>>> 
>>> 
>>> Dear ppc64 big endian types:
>>> 
>>> Sort of the same problem we had before. Except now the screaming
>>> fans seem to mysteriously die down for about thirty seconds before
>>> they start up again and run full blast for five minutes. It makes
>>> the machine a nasty blower fan thing to put down the hallway and
>>> run a 30 meter CAT6 ethernet to it just to deal with it at all.
>>> 
>>> Anyone else seeing this ?  It is really quite horrible to listen to.
>>> 
>>> At the moment there is nothing running at all with the exception of
>>> a svnlite checkout of http://svn.freebsd.org/base/head and the
>>> machine is screaming as if its life may end at any moment.
>>> Thankfully I have spare parts for when these fans blow up :
>>> 
>>> 
>>> dclarke at enceladus:~ $ uptime
>>> 12:21PM  up 33 mins, 2 users, load averages: 0.97, 0.84, 0.48
>>> 
>>> dclarke at enceladus:~ $ uname -apKU
>>> FreeBSD enceladus 13.0-CURRENT FreeBSD 13.0-CURRENT #0 r362037: Thu
>>> Jun 11 06:09:20 UTC 2020
>>> root at releng1.nyi.freebsd.org:/usr/obj/usr/src/powerpc.powerpc64/sys/GENERIC64
>>> powerpc powerpc64 1300097 1300097
>>> 
>>> dclarke at enceladus:~ $ cat /etc/rc.conf
>>> clear_tmp_enable="YES"
>>> syslogd_flags="-ss"
>>> hostname="enceladus"
>>> ifconfig_bge0="inet 172.16.35.8 netmask 255.255.255.192"
>>> defaultrouter="172.16.35.1"
>>> sshd_enable="YES"
>>> ntpd_enable="YES"
>>> # Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
>>> dumpdev="AUTO"
>>> powerd_enable="YES"
>>> dclarke at enceladus:~ $
>>> dclarke at enceladus:~ $
>>> 
>>> top -CSP shows :
>>> 
>>> last pid:  1113;  load averages:  1.00,  0.70,  0.35
>>>                     up 0+00:29:42  12:17:57 55 processes:  3
>>> running, 51 sleeping, 1 waiting CPU 0:  8.6% user,  0.0% nice,
>>> 44.7% system,  0.3% interrupt, 46.3% idle CPU 1:  0.3% user,  0.0%
>>> nice,  2.8% system,  0.6% interrupt, 96.4% idle CPU 2:  0.0% user,
>>> 0.0% nice,  0.0% system,  0.0% interrupt,  0.0% idle CPU 3:  0.0%
>>> user,  0.0% nice,  0.0% system,  0.0% interrupt,  0.0% idle Mem:
>>> 28M Active, 696M Inact, 626M Wired, 344M Buf, 6406M Free Swap:
>>> 3615M Total, 3615M Free
>>> 
>>> PID USERNAME    THR PRI NICE   SIZE    RES STATE    C   TIME
>>> CPU COMMAND 11 root          4 155 ki31     0B   192K RUN      0
>>> 112:42 307.44% idle 1104 root          1 103    0    32M    19M
>>> CPU3     3   4:57  87.60% svnlite 12 root         22 -52    -
>>> 0B  1056K WAIT     1   0:12   2.65% intr 7 root          2 -16    -
>>>    0B    96K -        0   0:04   1.17% cam 19 root          6  20
>>>  -     0B   288K psleep   2   0:02   0.50% bufdaemon 1050 dclarke
>>>     1  20    0    23M  5252K select   0   0:01   0.23% sshd 1113
>>> dclarke       1  20    0    16M  4408K CPU0     0   0:00   0.01%
>>> top 931 root          1  20    0    23M  4676K select   2   0:00
>>> 0.01% ntpd 1109 dclarke       1  20    0    23M  5260K select   2
>>> 0:00   0.00% sshd 15 root         15 -68    -     0B   720K -
>>> 0   0:00   0.00% usb 971 root          1  20    0    19M  5696K
>>> select   3   0:00   0.00% sendmail 761 root          1  20    0
>>> 14M  2384K select   2   0:00   0.00% syslogd 0 root         21 -16
>>>  -     0B  1008K swapin   3   0:00   0.00% kernel 1062 root
>>>  1  20    0    15M  4944K pause    2   0:00   0.00% csh 1107 root
>>>        1  20    0    23M    11M select   1   0:00   0.00% sshd
>>> 1048 root          1  39    0    23M    11M select   2   0:00
>>> 0.00% sshd 940 root          1  20    0    14M  1260K select   3
>>> 0:00   0.00% powerd 1057 dclarke       1  20    0    15M  3848K
>>> wait     1   0:00   0.00% su 1058 dante         1  20    0    15M
>>> 3988K wait     3   0:00   0.00% sh 1051 dclarke       1  20    0
>>> 15M  3988K wait     3   0:00   0.00% sh 1 root          1  20    0
>>>  13M  1228K wait     3   0:00   0.00% init 1061 dante         1
>>> 20    0    15M  3848K wait     1   0:00   0.00% su 13 root
>>> 3  -8    -     0B   144K -        3   0:00   0.00% geom 978 root
>>>      1  20    0    14M  2400K nanslp   3   0:00   0.00% cron 1110
>>> dclarke       1  20    0    15M  4028K wait     1   0:00   0.00% sh
>>> 23 root          1 -16    -     0B    48K pmac_t   3   0:00   0.00%
>>> pmac_thermal 1037 root          1  52    0    14M  2808K ttyin    2
>>>  0:00   0.00% getty 1035 root          1  52    0    14M  2808K
>>> ttyin    0   0:00   0.00% getty 1033 root          1  52    0
>>> 14M  2808K ttyin    1   0:00   0.00% getty 1032 root          1  52
>>>   0    14M  2808K ttyin    3   0:00   0.00% getty 968 root
>>> 1  20    0    22M  4108K select   2   0:00   0.00% sshd 1036 root
>>>        1  52    0    14M  2808K ttyin    3   0:00   0.00% getty
>>> 
>>> There must be a trivial fix to all this as we had it all working
>>> pretty darn well some few months ago.  
>> Disable SMP?
>> 
>> Best regards
>> Michael
>>> 
>>> -- 
>>> Dennis Clarke
>>> RISC-V/SPARC/PPC/ARM/CISC
>>> UNIX and Linux spoken
>>> GreyBeard and suspenders optional
>>> _______________________________________________
>>> freebsd-ppc at freebsd.org mailing list
>>> https://lists.freebsd.org/mailman/listinfo/freebsd-ppc
>>> To unsubscribe, send any mail to
>>> "freebsd-ppc-unsubscribe at freebsd.org"  
>> 
>> _______________________________________________
>> freebsd-ppc at freebsd.org mailing list
>> https://lists.freebsd.org/mailman/listinfo/freebsd-ppc
>> To unsubscribe, send any mail to "freebsd-ppc-unsubscribe at freebsd.org"
> 
> 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 would be happy to test. Need to check what kind of PowerMac I have in my lab...

Best regards
Michael
> 
> - Justin



More information about the freebsd-ppc mailing list