panic: mutex vm object not owned ...

Peter Grehan grehan at freebsd.org
Mon Feb 21 18:19:25 PST 2005


> What is UMA_MD_SMALL_ALLOC, and why doesn't i386 set it?

  It allows systems that have the ability to direct-map memory to use a 
physical address for small (< 1 page) kernel allocations. This frees up 
KVM and eliminates the cost of mapping/unmapping temporary pages e.g. in 
the vm page zeroing code.

  Since i386 has no way of doing this direct mapping, it isn't defined 
for that architecture. Ironically, the G5 aka 970 loses the ability that 
the G3/G4 cpus had for this (BAT registers).

  The slab page-alloc/free routines call into MD code when 
UMA_MD_SMALL_ALLOC is defined, and they all do pretty much the same 
thing: allocate a vm page sans backing object and return the physical 
address of that page.

later,

Peter.



More information about the freebsd-ppc mailing list