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"

Reply via email to