On 14.09.17 22:32, Mark Johnston wrote:
On Thu, Sep 14, 2017 at 09:51:17PM +0200, Andreas Tobler wrote:
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?
Are you able to break into DDB when the hang occurs? If so, the output
of "show page" would be helpful.
Unfortunately not from the beginning. The keyboard is usb and it gets
installed late. Once it survives the loading of the kbd and co, I can
enter into ddb. But it is a trial and error. So far I didn't succeed to
come that far.
Are you running with INVARIANTS configured? If not, please try that.
The above was w/o INVARIANTS. With invariants the kernel panics
immediately after boot, see pic.
The previous revision, r323289 seems stable, at least it survived
several kernel builds.
Could you apply the patch below and capture the first page or so of
output from after the kernel starts booting?
I applied this diff and you see its output on the pic:
https://people.freebsd.org/~andreast/r323290_generic64_with_dbg_patch.jpg
I try now to get that far that I have a kbd and capture a 'show page'.
Thanks,
Andreas
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"