svn commit: r323290 - head/sys/vm

Andreas Tobler andreast at FreeBSD.org
Thu Sep 14 19:51:21 UTC 2017


Hi Mark,

On 07.09.17 23:43, Mark Johnston wrote:
> Author: markj
> Date: Thu Sep  7 21:43:39 2017
> New Revision: 323290
> URL: https://svnweb.freebsd.org/changeset/base/323290
> 
> Log:
>    Speed up vm_page_array initialization.
>    
>    We currently initialize the vm_page array in three passes: one to zero
>    the array, one to initialize the "order" field of each page (necessary
>    when inserting them into the vm_phys buddy allocator one-by-one), and
>    one to initialize the remaining non-zero fields and individually insert
>    each page into the allocator.
>    
>    Merge the three passes into one following a suggestion from alc:
>    initialize vm_page fields in a single pass, and use vm_phys_free_contig()
>    to efficiently insert physical memory segments into the buddy allocator.
>    This reduces the initialization time to a third or a quarter of what it
>    was before on most systems that I tested.
>    
>    Reviewed by:	alc, kib
>    MFC after:	3 weeks
>    Differential Revision:	https://reviews.freebsd.org/D12248
> 
> Modified:
>    head/sys/vm/vm_page.c
>    head/sys/vm/vm_phys.c
>    head/sys/vm/vm_phys.h

I just found out that this commit breaks booting my powerpc64 Quad G5.
It hangs, pressing ctrl-t shows: cmd: sh [*vm active pagequeue].

Sometimes it hangs earlier when the kbd is not there yet (usb), then I 
can't get the process/task where it hangs.

Note, this kernel is compiled with the default gcc (4.2.1-FreeBSD)

Any ideas how to find out what's wrong?
The previous revision, r323289 seems stable, at least it survived 
several kernel builds.

TIA,
Andreas


More information about the svn-src-all mailing list