OpenSolaris

Printable Version Enter a New Search
Bug ID 6657453
Synopsis DEBUG kernel fails assertion in page_demote() with 17GB+ of memory
State 10-Fix Delivered (Fix available in build)
Category:Subcategory kernel:vm
Keywords NO-S10
Responsible Engineer Kit Chow
Reported Against snv_82 , snv_84
Duplicate Of
Introduced In solaris_nevada
Commit to Fix snv_87
Fixed In snv_87
Release Fixed solaris_nevada(snv_87) , solaris_10u8(s10u8_03) (Bug ID:2172604)
Related Bugs 6650159 , 6652393 , 6657522 , 6671130 , 6675263
Submit Date 31-January-2008
Last Update Date 5-February-2009
Description
While testing a fix to another (unrelated) bug, I discovered that nvx82 DEBUG kernels
panic when booted on a 32GB two-socket, 8-core AMD-based system.  A tedious binary
search discovered that a 'physmem' value of 0x4407e5 lets the system boot, but
anything greater results in assertion failure at line 2131 of usr/src/uts/common/vm/vm_pagelist.c:

                        ASSERT(mnode == PP_2_MEM_NODE(pp));

I don't have any other systems handy with 18.262e+9 bytes, aka
17.008GB of RAM, or more, to make sure this is not Thor related, but
I tend to believe it is generic.
Work Around
set aok to 1. The nvidia panic is not likely related.

Another workaround is tto set enable_1gpg to 0 to disable the creation of 1g pages.
I tried setting enable_1gpg = 0 in /etc/system, and the reported panic persists.
I'm also not keen on setting aok = 1 - that just globally disables assertion
panics, which could be hiding other issues.
enable_1gpg has to be set early before mmu_init() in kmdb via the -kd boot flag; /etc/system is currently too late. 

Another option is to modify the enable_1gpg variable in the unix binary. 

# mdb -w /platform/i86pc/kernel/amd64/unix
> enable_1gpg?W 0
Setting enable_1gpg to 0 does not provide a workaround.

A viable workaround for both DEBUG and non DEBUG kernels is to boot into kmdb and set a chip breakpoint on mmu_page_sizes.

> mmu_page_sizes:w

On breakpoint, if the value of mmu_page_sizes is 3, set it to 2.

> mmu_page_sizes/W 2
Comments
N/A