summaryrefslogtreecommitdiffstats
path: root/sys/powerpc
diff options
context:
space:
mode:
authorgrehan <grehan@FreeBSD.org>2003-12-16 03:55:57 +0000
committergrehan <grehan@FreeBSD.org>2003-12-16 03:55:57 +0000
commit949de4b3b467d72554ed213fb320efcbd21953af (patch)
tree528a02a3bde8711a9a9da9cd02739c7719a28ed8 /sys/powerpc
parent7750c90c2f3c55b175923f25e571e9b435a00591 (diff)
downloadFreeBSD-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/powerpc')
-rw-r--r--sys/powerpc/aim/mmu_oea.c2
-rw-r--r--sys/powerpc/powerpc/mmu_oea.c2
-rw-r--r--sys/powerpc/powerpc/pmap.c2
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 */
OpenPOWER on IntegriCloud