7.1-STABLE does not boot after recent superpage support MFC

Alan Cox alan.l.cox at gmail.com
Fri Feb 27 10:39:35 PST 2009


On Fri, Feb 27, 2009 at 11:11 AM, John Baldwin <jhb at freebsd.org> wrote:

> On Friday 27 February 2009 11:26:25 am Igor Sysoev wrote:
> > On Fri, Feb 27, 2009 at 10:26:15AM -0500, John Baldwin wrote:
> >
> > > On Friday 27 February 2009 8:08:30 am Igor Sysoev wrote:
> > > > Is anyone able to boot kernel with recently merged superpage support
> ?
> > > > I have csup'd world to
> > > > *default date=2009.02.26.23.59.59
> > > > then rebuild world and kernel does not boot:
> > > >
> > > > FreeBSD 7.1-STABLE #4: Fri Feb 27 11:59:13 MSK 2009
> > > >     XXXXXXXXXXXXXXXXXXXXX
> > > > kernel trap 12 with interrupts disabled
> > > >
> > > >
> > > > Fatal trap 12: page fault while in kernel mode
> > > > cpuid = 0; apic id = 00
> > > > fault virtual address   = 0x0
> > > > fault code              = supervisor read data, page not present
> > > > instruction pointer     = 0x8:0xffffffff803b1d80
> > > > stack pointer           = 0x10:0xffffffff80686ce0
> > > > frame pointer           = 0x10:0xffffffff80686d00
> > > > code segment            = base 0x0, limit 0xfffff, type 0x1b
> > > >                         = DPL 0, pres 1, long 1, def32 0, gran 1
> > > > processor eflags        = resume, IOPL = 0
> > > > current process         = 0 ()
> > > > trap number             = 12
> > > > panic: page fault
> > > > cpuid = 0
> > > >
> > > > And the message is cycled. The kernel does not boot despite
> > > > vm.pmap.pg_ps_enabled value.
> > >
> > > This should now be fixed, apologies for the breakage. :(
> >
> > Thank you, your commit has fixed the bug.
> >
> > Now I have
> >
> > $sysctl vm.pmap.pde
> > vm.pmap.pde.promotions: 518
> > vm.pmap.pde.p_failures: 4534
> > vm.pmap.pde.mappings: 0
> > vm.pmap.pde.demotions: 423
> >
> > Does this mean that (518 - 423) * 2 = 190M are mapped via 2M pages ?
>
> I don't think that includes the direct map which uses 2M pages.  I think
> your
> conclusion is correct, but alc@ would know for sure.
>
> --
> John Baldwin
> _______________________________________________
> freebsd-stable at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe at freebsd.org"
>


These counts are cumulative.  So, they don't really provide you with an
instantaneous number of the active 2MB page mappings.  Moreover, when a 2MB
page mapping is destroyed in its entirety, for example, when exit()ing a
process, that does not trigger a demotion.  In other words, a promoted 2MB
page mapping can cease to exist without a demotion occurring.

You are correct that in RELENG_7 these counts don't say anything about the
direct map.

Alan


More information about the freebsd-stable mailing list