Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/uvm/pmap Don't track kenter_pa/kremove PVs unless we are...
details: https://anonhg.NetBSD.org/src/rev/1c2e53557e7e
branches: trunk
changeset: 347234:1c2e53557e7e
user: matt <matt%NetBSD.org@localhost>
date: Thu Aug 18 21:42:27 2016 +0000
description:
Don't track kenter_pa/kremove PVs unless we are worrying about cache aliasing.
diffstat:
sys/uvm/pmap/pmap.c | 11 +++++++----
1 files changed, 7 insertions(+), 4 deletions(-)
diffs (41 lines):
diff -r 65f220fb2ce2 -r 1c2e53557e7e sys/uvm/pmap/pmap.c
--- a/sys/uvm/pmap/pmap.c Thu Aug 18 19:27:33 2016 +0000
+++ b/sys/uvm/pmap/pmap.c Thu Aug 18 21:42:27 2016 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.19 2016/08/05 20:54:28 jakllsch Exp $ */
+/* $NetBSD: pmap.c,v 1.20 2016/08/18 21:42:27 matt Exp $ */
/*-
* Copyright (c) 1998, 2001 The NetBSD Foundation, Inc.
@@ -67,7 +67,7 @@
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.19 2016/08/05 20:54:28 jakllsch Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.20 2016/08/18 21:42:27 matt Exp $");
/*
* Manages physical address maps.
@@ -1358,7 +1358,8 @@
* No need to track non-managed pages or PMAP_KMPAGEs pages for aliases
*/
#ifdef PMAP_VIRTUAL_CACHE_ALIASES
- if (pg != NULL && (flags & PMAP_KMPAGE) == 0) {
+ if (pg != NULL && (flags & PMAP_KMPAGE) == 0
+ && pmap_md_virtual_cache_aliasing_p()) {
pmap_enter_pv(pmap, va, pg, &npte, PV_KENTER);
}
#endif
@@ -1411,9 +1412,11 @@
PMAP_COUNT(kremove_pages);
struct vm_page * const pg = PHYS_TO_VM_PAGE(pte_to_paddr(pte));
- if (pg != NULL) {
+#ifdef PMAP_VIRTUAL_CACHE_ALIASES
+ if (pg != NULL && pmap_md_virtual_cache_aliasing_p()) {
pmap_remove_pv(pmap, sva, pg, !pte_readonly_p(pte));
}
+#endif
pmap_md_tlb_miss_lock_enter();
*ptep = new_pte;
Home |
Main Index |
Thread Index |
Old Index