PowerMac G5 4-core (system total): usefdt=1 style booting (by itself): Turns out it usually hangs up during booting from power off
Mark Millard
marklmi at yahoo.com
Tue Jan 29 07:18:50 UTC 2019
[This follows the progression of my intermittent testing. New
information is towards the bottom. The initial good results
have not held up.]
On 2019-Jan-28, at 19:30, Mark Millard <marklmi at yahoo.com> wrote:
> [The bug*daemon time-outs during shutdown also happen without fan-speed
> issues happening first (or during shutdown).]
>
> On 2019-Jan-28, at 18:16, Mark Millard <marklmi at yahoo.com> wrote:
>
>> Based on my:
>>
>> # uname -apKU
>> FreeBSD FBSDG5L 13.0-CURRENT FreeBSD 13.0-CURRENT #6 r341836M: Mon Jan 28 14:42:29 PST 2019 markmi at FBSDFSSD:/usr/obj/powerpc64vtsc_xtoolchain-gcc/powerpc.powerpc64/usr/src/powerpc.powerpc64/sys/GENERIC64vtsc-NODBG powerpc powerpc64 1300005 1300005
>>
>> with:
>>
>> # svnlite diff /usr/src/sys/powerpc/include/vmparam.h
>> #
>>
>> (So no VM_MAX_KERNEL_ADDRESS workaround.)
>> And:
>>
>> # svnlite diff /usr/src/stand/common/metadata.c
>> Index: /usr/src/stand/common/metadata.c
>> ===================================================================
>> --- /usr/src/stand/common/metadata.c (revision 341836)
>> +++ /usr/src/stand/common/metadata.c (working copy)
>> @@ -322,15 +322,10 @@
>> #if defined(LOADER_FDT_SUPPORT)
>> /* Copy out FDT */
>> fdtp = 0;
>> -#if defined(__powerpc__)
>> - if (getenv("usefdt") != NULL)
>> + size = fdt_copy(addr);
>> + fdtp = addr;
>> + addr = roundup(addr + size, PAGE_SIZE);
>> #endif
>> - {
>> - size = fdt_copy(addr);
>> - fdtp = addr;
>> - addr = roundup(addr + size, PAGE_SIZE);
>> - }
>> -#endif
>>
>> kernend = 0;
>> kfp = file_findfile(NULL, kern64 ? "elf64 kernel" : "elf32 kernel");
>>
>> (So the previous usefdt=1 behavior is automatic.)
>>
>> Booting is then automatic, with smp working.
>>
>> So I expect that when -r341614 (that made set usefdt=1 work) is merged to
>> stable/12 that the same will be true for the additional updates there.
>>
>>
>> I will note the following (adjusted from a previously reported
>> experiment with manual usefdt=1 use):
>>
>> 1. After a while the fans get louder.
>>
>> 2. When shutting down the system once the fans are louder,
>>
>> Waiting (max 60 seconds) for system thread `bufdaemon' to stop...
>> Waiting (max 60 seconds) for system thread `bufspacedaemon-1' to stop...
>> Waiting (max 60 seconds) for system thread `bufspacedaemon-0' to stop...
>>
>> all time out.
>>
>> So there seems to be some type of a problem.
>
> Experiments with booting and then shutting down somewhat
> later show that the bug*daemon time-outs during shutdown
> also happen without the fan's becoming loud first. They
> seem independent at this point.
>
> I'll keep experimenting on occasion.
>
> Oh: I did not mean to imply that only the -0 and the -1 of the
> various bufspaceddaemon-* timeout. I just did not list them all.
>
Contintued use has produced mostly hangups during booting when
starting from power-off (instead of shutdown -r now).
I've also seen that the buf*daemon at shutdown can be a mix
of ones that hang up and others that reach Done normally.
I've switched to a debug kernel build in order to see what
it reports. (So far nothing interesting.)
The boot-time hangs for "boot -v" show the last line(s)
as "Waking up CPU" messages --but at least one is not
displayed. This is the same as without the usefdt=1 type
of context.
It currently seems a rarity that it boots.
It looks to me like usefdt=1 does little or no good for the
problem exposed by the modern VM_MAX_KERNEL_ADDRESS value.
===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)
More information about the freebsd-ppc
mailing list