diff options
| author | thorpej <thorpej@NetBSD.org> | 2021-05-30 14:06:37 +0000 |
|---|---|---|
| committer | thorpej <thorpej@NetBSD.org> | 2021-05-30 14:06:37 +0000 |
| commit | ff177b9465fb77cd0dd646d83c054e4efadab456 (patch) | |
| tree | a0e56d178127831c1264fd4026554865e47ef37a /sys/arch/alpha/include | |
| parent | 3c755ab3ef5b5a3564b100bbfc0bcdee101e7e2a (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.h | 5 |
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 */ |
