diff options
author | grehan <grehan@FreeBSD.org> | 2003-12-16 03:55:57 +0000 |
---|---|---|
committer | grehan <grehan@FreeBSD.org> | 2003-12-16 03:55:57 +0000 |
commit | 949de4b3b467d72554ed213fb320efcbd21953af (patch) | |
tree | 528a02a3bde8711a9a9da9cd02739c7719a28ed8 /sys | |
parent | 7750c90c2f3c55b175923f25e571e9b435a00591 (diff) | |
download | FreeBSD-src-949de4b3b467d72554ed213fb320efcbd21953af.zip FreeBSD-src-949de4b3b467d72554ed213fb320efcbd21953af.tar.gz |
Disable the per-vm_page PTE cache. This was not being invalidated
correctly, resulting in the dreaded "vm_pageout_flush: partially
invalid page" panic. The caching issue will be revisited in the
future, but opt for safety over performance in the meantime.
Tested by: gallatin
Diffstat (limited to 'sys')
-rw-r--r-- | sys/powerpc/aim/mmu_oea.c | 2 | ||||
-rw-r--r-- | sys/powerpc/powerpc/mmu_oea.c | 2 | ||||
-rw-r--r-- | sys/powerpc/powerpc/pmap.c | 2 |
3 files changed, 6 insertions, 0 deletions
diff --git a/sys/powerpc/aim/mmu_oea.c b/sys/powerpc/aim/mmu_oea.c index 18dab87..2f01fb5 100644 --- a/sys/powerpc/aim/mmu_oea.c +++ b/sys/powerpc/aim/mmu_oea.c @@ -2175,8 +2175,10 @@ pmap_query_bit(vm_page_t m, int ptebit) struct pvo_entry *pvo; struct pte *pt; +#if 0 if (pmap_attr_fetch(m) & ptebit) return (TRUE); +#endif LIST_FOREACH(pvo, vm_page_to_pvoh(m), pvo_vlink) { PMAP_PVO_CHECK(pvo); /* sanity check */ diff --git a/sys/powerpc/powerpc/mmu_oea.c b/sys/powerpc/powerpc/mmu_oea.c index 18dab87..2f01fb5 100644 --- a/sys/powerpc/powerpc/mmu_oea.c +++ b/sys/powerpc/powerpc/mmu_oea.c @@ -2175,8 +2175,10 @@ pmap_query_bit(vm_page_t m, int ptebit) struct pvo_entry *pvo; struct pte *pt; +#if 0 if (pmap_attr_fetch(m) & ptebit) return (TRUE); +#endif LIST_FOREACH(pvo, vm_page_to_pvoh(m), pvo_vlink) { PMAP_PVO_CHECK(pvo); /* sanity check */ diff --git a/sys/powerpc/powerpc/pmap.c b/sys/powerpc/powerpc/pmap.c index 18dab87..2f01fb5 100644 --- a/sys/powerpc/powerpc/pmap.c +++ b/sys/powerpc/powerpc/pmap.c @@ -2175,8 +2175,10 @@ pmap_query_bit(vm_page_t m, int ptebit) struct pvo_entry *pvo; struct pte *pt; +#if 0 if (pmap_attr_fetch(m) & ptebit) return (TRUE); +#endif LIST_FOREACH(pvo, vm_page_to_pvoh(m), pvo_vlink) { PMAP_PVO_CHECK(pvo); /* sanity check */ |