svn commit: r323290 - head/sys/vm

Andreas Tobler andreast at FreeBSD.org
Sat Sep 16 20:52:49 UTC 2017


On 16.09.17 22:32, Justin Hibbits wrote:
> 
> 
> On Sep 16, 2017 14:02, "Andreas Tobler" <andreast at freebsd.org 
> <mailto:andreast at freebsd.org>> wrote:
> 
>     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
>                 <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
>                 <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.
> 
> 
> What about using dcons? That's saved me many times when I couldn't break 
> into ddb from the console.

Might be worth a try, but as you might have seen on the pic, the panic 
happens immediately after printing the banner. At that time no driver is 
available. It might work when I try w/o invariants and have luck and get 
past the fwohci init.

Thx,
Andreas



More information about the svn-src-head mailing list