FreeBSD on MPC8349 (e300 core)
Peter Grehan
grehan at freebsd.org
Thu Jul 10 15:39:55 UTC 2008
Hi Marek,
> the PTE usage distribution in PTEG table is still non-uniform. For
> normal PTEG table size the secondary hash bucket hits PTEGs that are
> already filled by the primary hash bucket and then we get a panic.
The G3/G4 pmap code has been stable for a while now. The fact that it
took a number of years to find the pteg secondary-hash index issue
indicated that the hash was working well and spreading entries well
enough that the primary buckets were rarely overflowing.
One avenue to look into is to make sure your TLB miss handler is
functionally correct. If it's generating an incorrect value (or even a
poor hash), that may result in entries not being spread well enough.
> It's a panic. I've attached three example backtraces from sh, tail
> and pkill. They have all appeared during the boot process. We have
> many more core dumps from various system tools, but they are all
> similar to these. Suddenly a pointer points to 0x0 or an index in a
> table is invalid. Maybe something in the kernel overwrites user pages
> or maps a wrong page for a process?
One way to debug these type of problems is to put some code in the
kernel's trap handler to validate the virt/phys translation that caused
the problem is the same as that described in the faulting process's vm
data structures.
later,
Peter.
More information about the freebsd-ppc
mailing list