summaryrefslogtreecommitdiffstats
path: root/sys/powerpc/aim
diff options
context:
space:
mode:
authorgrehan <grehan@FreeBSD.org>2006-12-20 01:10:21 +0000
committergrehan <grehan@FreeBSD.org>2006-12-20 01:10:21 +0000
commita0ce97439a3ba712e7d861fa80906b24439d288c (patch)
treeff02202501de5188f9db7a6efaf4b5e8eac97554 /sys/powerpc/aim
parentca13ed8f4abe4895913b129f7cf4709331b51fc2 (diff)
downloadFreeBSD-src-a0ce97439a3ba712e7d861fa80906b24439d288c.zip
FreeBSD-src-a0ce97439a3ba712e7d861fa80906b24439d288c.tar.gz
Remove bogus increment of re-hashed PTEG index. This snuck in with r1.12 of
pmap.c, and is potentially the cause of hangs reported on machines with a small amount of memory. On machines with sufficient RAM, and without a lot of processes running, this situation would probably never occur. Testing is still incomplete, but it is obviously wrong so remove the offending code now. The issue of what to do when both the primary and secondary hash overflow is still open. Reported by: Dan Kresja at windriver dot com, via alc
Diffstat (limited to 'sys/powerpc/aim')
-rw-r--r--sys/powerpc/aim/mmu_oea.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/powerpc/aim/mmu_oea.c b/sys/powerpc/aim/mmu_oea.c
index ec13d06..d1a0faa 100644
--- a/sys/powerpc/aim/mmu_oea.c
+++ b/sys/powerpc/aim/mmu_oea.c
@@ -2280,7 +2280,7 @@ moea_pte_insert(u_int ptegidx, struct pte *pvo_pt)
* Now try secondary hash.
*/
ptegidx ^= moea_pteg_mask;
- ptegidx++;
+
for (pt = moea_pteg_table[ptegidx].pt, i = 0; i < 8; i++, pt++) {
if ((pt->pte_hi & PTE_VALID) == 0) {
pvo_pt->pte_hi |= PTE_HID;
OpenPOWER on IntegriCloud