Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Jan 2010 08:26:05 -0500
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-current@freebsd.org
Cc:        "Wilkinson, Alex" <alex.wilkinson@dsto.defence.gov.au>
Subject:   Re: Fatal trap 12: page fault while in kernel mode [SEC=UNCLASSIFIED]
Message-ID:  <201001080826.05461.jhb@freebsd.org>
In-Reply-To: <20100108061951.GA47507@stlux503.dsto.defence.gov.au>
References:  <20100105060748.GA16239@stlux503.dsto.defence.gov.au> <201001070935.52783.jhb@freebsd.org> <20100108061951.GA47507@stlux503.dsto.defence.gov.au>

index | next in thread | previous in thread | raw e-mail

On Friday 08 January 2010 1:19:51 am Wilkinson, Alex wrote:
> 
>     0n Thu, Jan 07, 2010 at 09:35:52AM -0500, John Baldwin wrote: 
> 
>     >Can you go to frame 9 and do 'p rv', 'p mpred', and 'p *mpred'?  Can 
you also do 'p vm_reserv_array'
> 
> (kgdb) up 9
> #9  0xc0b04452 in vm_reserv_alloc_page (object=0xc207c000, pindex=28795) at 
/usr/src/sys/vm/vm_reserv.c:320
> 320			if (rv->object == object && vm_reserv_has_pindex(rv, pindex)) {
> (kgdb) p rv
> $1 = 0xc445d060
> (kgdb) p *mpred
> $2 = {pageq = {tqe_next = 0xc75bb360, tqe_prev = 0xc75bb000}, listq = 
{tqe_next = 0xc75bb360, tqe_prev = 0xc8595170}, left = 0xc7612a20, right = 
0xcb721d80, object = 0xc207c000, 
>   pindex = 28989, phys_addr = 3876835328, md = {pv_list = {tqh_first = 0x0, 
tqh_last = 0x0}, pat_mode = 1}, queue = 0 '\0', segind = 0 '\0', flags = 152, 
order = 0 '\0', pool = 0 '\0', 
>   cow = 0, wire_count = 1, hold_count = 0, oflags = 0, act_count = 0 '\0', 
busy = 0 '\0', valid = 255 'ÿ', dirty = 255 'ÿ'}
> (kgdb) p vm_reserv_array
> $3 = 0xc4454000
> (kgdb) 

Can you add a printf to vm_reserv_startup() to print out the size it 
calculates and then boot a kernel with that and reply with the size it 
computes?

-- 
John Baldwin


help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201001080826.05461.jhb>