panic: assertion: pmap->pm_stats.resident_count > 0 in pmap_release_free_page

Matthew Dillon dillon at apollo.backplane.com
Mon Dec 28 21:22:35 PST 2009


:I tried changing the number of CPUs on vkernel from 16 to 4 and reduced
:the -j number given to make command, then I get a panic in a different place:

    That's a better panic, for sure.  Here is another patch to try:

	fetch http://apollo.backplane.com/DFlyMisc/pmap01.patch

    * I fixed one place where pmap->pm_generation was not being bumped.

    * I fixed another place where it was looping on the wrong npv
      under certain circumstances (but it also kprintf()'s something
      in that case and your crash dump didn't have the kprintf).

    * I added a few more KKASSERT()s closer to the pmap lookup.

    * I believe I found a race in pmap_enter()'s call to pmap_remove_pte().
      The temporary ptbase can get wiped after the call so we have to reload
      the pte pointer.

    I'm crossing my fingers.  If this fixes the problem I will make the
    same changes to the x86_64 and vkernel's pmap code.

						-Matt






More information about the Bugs mailing list