summaryrefslogtreecommitdiff
path: root/sys/arch/alpha/include
diff options
context:
space:
mode:
authorthorpej <thorpej@NetBSD.org>2021-05-30 14:06:37 +0000
committerthorpej <thorpej@NetBSD.org>2021-05-30 14:06:37 +0000
commitff177b9465fb77cd0dd646d83c054e4efadab456 (patch)
treea0e56d178127831c1264fd4026554865e47ef37a /sys/arch/alpha/include
parent3c755ab3ef5b5a3564b100bbfc0bcdee101e7e2a (diff)
When removing mappings, hang PV entries to be freed off of the
pmap_tlb_context structure, and free them back in bulk after we release all of our locks (as we do with PT pages that are freed).
Diffstat (limited to 'sys/arch/alpha/include')
-rw-r--r--sys/arch/alpha/include/pmap.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/arch/alpha/include/pmap.h b/sys/arch/alpha/include/pmap.h
index 0e33d17af4d..7eb3b35104d 100644
--- a/sys/arch/alpha/include/pmap.h
+++ b/sys/arch/alpha/include/pmap.h
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.h,v 1.94 2021/05/30 13:34:21 thorpej Exp $ */
+/* $NetBSD: pmap.h,v 1.95 2021/05/30 14:06:37 thorpej Exp $ */
/*-
* Copyright (c) 1998, 1999, 2000, 2001, 2007 The NetBSD Foundation, Inc.
@@ -133,6 +133,7 @@
*/
LIST_HEAD(pmap_pagelist, vm_page);
+LIST_HEAD(pmap_pvlist, pv_entry);
struct pmap_percpu {
unsigned int pmc_asn; /* address space number */
@@ -151,7 +152,7 @@ struct pmap { /* pmaps are aligned to COHERENCY_UNIT boundaries */
unsigned int pm_count; /* [24] reference count */
unsigned int __pm_spare0; /* [28] spare field */
struct pmap_pagelist pm_ptpages; /* [32] list of PT pages */
- LIST_HEAD(, pv_entry) pm_pvents; /* [40] list of PV entries */
+ struct pmap_pvlist pm_pvents; /* [40] list of PV entries */
TAILQ_ENTRY(pmap) pm_list; /* [48] list of all pmaps */
/* -- COHERENCY_UNIT boundary -- */
struct pmap_percpu pm_percpu[]; /* [64] per-CPU data */