Re: git: 1a7fcf6d51eb - main - vm_phys_enqueue_contig: handle npages==0

From: Kristof Provost <kp_at_FreeBSD.org>
Date: Wed, 02 Aug 2023 09:47:03 UTC
On 2 Aug 2023, at 11:36, Kristof Provost wrote:
> On 2 Aug 2023, at 5:14, Doug Moore wrote:
>> The branch main has been updated by dougm:
>>
>> URL: https://cgit.FreeBSD.org/src/commit/?id=1a7fcf6d51eb67ee3e05fdbb806f7e68f9f53c9c
>>
>> commit 1a7fcf6d51eb67ee3e05fdbb806f7e68f9f53c9c
>> Author:     Doug Moore <dougm@FreeBSD.org>
>> AuthorDate: 2023-08-02 03:12:00 +0000
>> Commit:     Doug Moore <dougm@FreeBSD.org>
>> CommitDate: 2023-08-02 03:12:00 +0000
>>
>>     vm_phys_enqueue_contig: handle npages==0
>>
>>     By letting vm_phys_enqueue_contig handle the case when npages == 0,
>>     the callers can stop checking it, and the compiler can stop
>>     zero-checking with every call to ffs(). Letting vm_phys_enqueue_contig
>>     call vm_phys_enqueue_contig for part of its work also saves a few
>>     bytes.
>>
>>     The amd64 object code shrinks by 80 bytes.
>>
>>     Reviewed by:    kib
>>     Differential Revision:  https://reviews.freebsd.org/D41154
>
> I suspect this commit caused my machine to fail to boot:
>
>     WARNING: WITNESS option enabled, expect reduced performance.c data=0x180 data=0x
>     panic: vm_phys_enq_range: page 0xfffffe0000006180 and npages 4294967040 are misaligned
>     cpuid = 0onfigured modules...
>     time = 1rnel/if_bnxt.ko size 0x3efe8 at 0x1f50000
>     KDB: stack backtrace:ize 0x6f2698 at 0x1f8f000
>     db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xffffffff82c03e20
>     vpanic() at vpanic+0x149/frame 0xffffffff82c03e70
>     panic() at panic+0x43/frame 0xffffffff82c03ed00
>     vm_phys_enq_range() at vm_phys_enq_range+0x11d/frame 0xffffffff82c03ee0
>     vm_phys_enqueue_contig() at vm_phys_enqueue_contig+0xdd/frame 0xffffffff82c03f20
>     vm_page_startup() at vm_page_startup+0xf3d/frame 0xffffffff82c03f90
>     vm_mem_init() at vm_mem_init+0x1a/frame 0xffffffff82c03fa0
>     mi_startup() at mi_startup+0x1f1/frame 0xffffffff82c03ff0
>     btext() at btext+0x23
>     KDB: enter: panic
>
> This is sufficiently early in boot that I don’t get a core dump, so I hope the backtrace helps you.
>
> I’ll back out the commit locally and confirm.
>
And confirmed. With this commit reverted the machine boots again.

Best regards,
Kristof