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