Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/hppa Convert PMAPDEBUG to UVMHIST
details: https://anonhg.NetBSD.org/src/rev/a44f6df4f776
branches: trunk
changeset: 930853:a44f6df4f776
user: skrll <skrll%NetBSD.org@localhost>
date: Wed Apr 15 15:50:15 2020 +0000
description:
Convert PMAPDEBUG to UVMHIST
diffstat:
sys/arch/hppa/gsc/if_ie_gsc.c | 12 +-
sys/arch/hppa/hppa/machdep.c | 16 +-
sys/arch/hppa/hppa/pmap.c | 386 ++++++++++++++++++-----------------------
3 files changed, 177 insertions(+), 237 deletions(-)
diffs (truncated from 977 to 300 lines):
diff -r b658abc189d5 -r a44f6df4f776 sys/arch/hppa/gsc/if_ie_gsc.c
--- a/sys/arch/hppa/gsc/if_ie_gsc.c Wed Apr 15 15:25:33 2020 +0000
+++ b/sys/arch/hppa/gsc/if_ie_gsc.c Wed Apr 15 15:50:15 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: if_ie_gsc.c,v 1.4 2019/04/25 10:08:45 msaitoh Exp $ */
+/* $NetBSD: if_ie_gsc.c,v 1.5 2020/04/15 15:50:15 skrll Exp $ */
/* $OpenBSD: if_ie_gsc.c,v 1.6 2001/01/12 22:57:04 mickey Exp $ */
@@ -38,7 +38,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_ie_gsc.c,v 1.4 2019/04/25 10:08:45 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_ie_gsc.c,v 1.5 2020/04/15 15:50:15 skrll Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -378,11 +378,6 @@
int rseg;
int rv;
uint8_t myaddr[ETHER_ADDR_LEN];
-#ifdef PMAPDEBUG
- extern int pmapdebug;
- int opmapdebug = pmapdebug;
- pmapdebug = 0;
-#endif
if (ga->ga_type.iodc_sv_model == HPPA_FIO_GLAN)
gsc->flags |= IEGSC_GECKO;
@@ -506,9 +501,6 @@
bus_dmamem_free(gsc->iemt, &seg, rseg);
return;
}
-#ifdef PMAPDEBUG
- pmapdebug = opmapdebug;
-#endif
if (!rv)
return;
diff -r b658abc189d5 -r a44f6df4f776 sys/arch/hppa/hppa/machdep.c
--- a/sys/arch/hppa/hppa/machdep.c Wed Apr 15 15:25:33 2020 +0000
+++ b/sys/arch/hppa/hppa/machdep.c Wed Apr 15 15:50:15 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.c,v 1.12 2019/12/31 13:07:10 ad Exp $ */
+/* $NetBSD: machdep.c,v 1.13 2020/04/15 15:50:15 skrll Exp $ */
/*-
* Copyright (c) 2001, 2002 The NetBSD Foundation, Inc.
@@ -58,7 +58,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.12 2019/12/31 13:07:10 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.13 2020/04/15 15:50:15 skrll Exp $");
#include "opt_cputype.h"
#include "opt_ddb.h"
@@ -126,10 +126,6 @@
#include <hppa/hppa/pim.h>
#include <hppa/dev/cpudevs.h>
-#ifdef PMAPDEBUG
-#include <hppa/hppa/hpt.h>
-#endif
-
#include "ksyms.h"
#include "lcd.h"
@@ -898,12 +894,7 @@
{
vaddr_t minaddr, maxaddr;
char pbuf[3][9];
-#ifdef PMAPDEBUG
- extern int pmapdebug;
- int opmapdebug = pmapdebug;
- pmapdebug = 0;
-#endif
/* Initialize the message buffer. */
initmsgbuf(msgbufaddr, MSGBUFSIZE);
@@ -940,9 +931,6 @@
phys_map = uvm_km_suballoc(kernel_map, &minaddr, &maxaddr,
VM_PHYS_SIZE, 0, false, NULL);
-#ifdef PMAPDEBUG
- pmapdebug = opmapdebug;
-#endif
format_bytes(pbuf[0], sizeof(pbuf[0]), ptoa(uvm_availmem()));
printf("avail mem = %s\n", pbuf[0]);
}
diff -r b658abc189d5 -r a44f6df4f776 sys/arch/hppa/hppa/pmap.c
--- a/sys/arch/hppa/hppa/pmap.c Wed Apr 15 15:25:33 2020 +0000
+++ b/sys/arch/hppa/hppa/pmap.c Wed Apr 15 15:50:15 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.108 2020/04/15 15:22:37 skrll Exp $ */
+/* $NetBSD: pmap.c,v 1.109 2020/04/15 15:50:15 skrll Exp $ */
/*-
* Copyright (c) 2001, 2002 The NetBSD Foundation, Inc.
@@ -65,7 +65,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.108 2020/04/15 15:22:37 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.109 2020/04/15 15:50:15 skrll Exp $");
#include "opt_cputype.h"
@@ -94,52 +94,6 @@
#include <ddb/db_output.h>
#endif
-#ifdef PMAPDEBUG
-
-#define static /**/
-#define inline /**/
-
-#define DPRINTF(l,s) do { \
- if ((pmapdebug & (l)) == (l)) \
- printf s; \
-} while(0)
-
-#define PDB_FOLLOW 0x00000001
-#define PDB_INIT 0x00000002
-#define PDB_ENTER 0x00000004
-#define PDB_REMOVE 0x00000008
-#define PDB_CREATE 0x00000010
-#define PDB_PTPAGE 0x00000020
-#define PDB_CACHE 0x00000040
-#define PDB_BITS 0x00000080
-#define PDB_COLLECT 0x00000100
-#define PDB_PROTECT 0x00000200
-#define PDB_EXTRACT 0x00000400
-#define PDB_VP 0x00000800
-#define PDB_PV 0x00001000
-#define PDB_PARANOIA 0x00002000
-#define PDB_WIRING 0x00004000
-#define PDB_PMAP 0x00008000
-#define PDB_STEAL 0x00010000
-#define PDB_PHYS 0x00020000
-#define PDB_POOL 0x00040000
-#define PDB_ALIAS 0x00080000
-int pmapdebug = 0
- | PDB_INIT
- | PDB_FOLLOW
- | PDB_VP
- | PDB_PV
- | PDB_ENTER
- | PDB_REMOVE
- | PDB_STEAL
- | PDB_PROTECT
- | PDB_PHYS
- | PDB_ALIAS
- ;
-#else
-#define DPRINTF(l,s) /* */
-#endif
-
int pmap_hptsize = 16 * PAGE_SIZE; /* patchable */
vaddr_t pmap_hpt;
@@ -331,9 +285,9 @@
static inline void
pmap_pde_set(pmap_t pm, vaddr_t va, paddr_t ptp)
{
-
- DPRINTF(PDB_FOLLOW|PDB_VP,
- ("%s(%p, 0x%lx, 0x%lx)\n", __func__, pm, va, ptp));
+ UVMHIST_FUNC(__func__);
+ UVMHIST_CALLARGS(maphist, "pm %#jx va %#jx ptp %#jx", (uintptr_t)pm,
+ va, ptp, 0);
KASSERT((ptp & PGOFSET) == 0);
@@ -346,8 +300,9 @@
struct vm_page *pg;
paddr_t pa;
- DPRINTF(PDB_FOLLOW|PDB_VP,
- ("%s(%p, 0x%lx, %p)\n", __func__, pm, va, pdep));
+ UVMHIST_FUNC(__func__);
+ UVMHIST_CALLARGS(maphist, "pm %#jx va %#jx pdep %#jx", (uintptr_t)pm,
+ va, (uintptr_t)pdep, 0);
KASSERT(pm != pmap_kernel());
KASSERT(rw_write_held(pm->pm_lock));
@@ -359,7 +314,7 @@
pa = VM_PAGE_TO_PHYS(pg);
- DPRINTF(PDB_FOLLOW|PDB_VP, ("%s: pde %lx\n", __func__, pa));
+ UVMHIST_LOG(maphist, "pde %#jx", pa, 0, 0, 0);
pg->flags &= ~PG_BUSY; /* never busy */
pg->wire_count = 1; /* no mappings yet */
@@ -376,12 +331,15 @@
{
paddr_t pa = (paddr_t)pde;
- DPRINTF(PDB_FOLLOW|PDB_PV, ("%s(%p, %p)\n", __func__, pm, pde));
+ UVMHIST_FUNC(__func__);
+ UVMHIST_CALLARGS(maphist, "pm %#jx va %#jx pdep %#jx", (uintptr_t)pm,
+ (uintptr_t)pde, 0, 0);
if (pm->pm_ptphint && VM_PAGE_TO_PHYS(pm->pm_ptphint) == pa)
return (pm->pm_ptphint);
- DPRINTF(PDB_FOLLOW|PDB_PV, ("%s: lookup 0x%lx\n", __func__, pa));
+ UVMHIST_LOG(maphist, "<--- done (%#jx)",
+ (uintptr_t)PHYS_TO_VM_PAGE(pa), 0, 0, 0);
return (PHYS_TO_VM_PAGE(pa));
}
@@ -389,14 +347,14 @@
static inline void
pmap_pde_release(pmap_t pmap, vaddr_t va, struct vm_page *ptp)
{
-
- DPRINTF(PDB_FOLLOW|PDB_PV,
- ("%s(%p, 0x%lx, %p)\n", __func__, pmap, va, ptp));
+ UVMHIST_FUNC(__func__);
+ UVMHIST_CALLARGS(maphist, "pm %#jx va %#jx ptp %#jx", (uintptr_t)pmap,
+ va, (uintptr_t)ptp, 0);
KASSERT(pmap != pmap_kernel());
if (--ptp->wire_count <= 1) {
- DPRINTF(PDB_FOLLOW|PDB_PV,
- ("%s: disposing ptp %p\n", __func__, ptp));
+ UVMHIST_LOG(maphist, "disposing ptp %#jx", (uintptr_t)ptp, 0,
+ 0, 0);
pmap_pde_set(pmap, va, 0);
pmap->pm_stats.resident_count--;
if (pmap->pm_ptphint == ptp)
@@ -420,8 +378,12 @@
pmap_pte_set(volatile pt_entry_t *pde, vaddr_t va, pt_entry_t pte)
{
- DPRINTF(PDB_FOLLOW|PDB_VP, ("%s(%p, 0x%lx, 0x%x)\n",
- __func__, pde, va, pte));
+ /* too verbose due to hppa_pagezero_{,un}map */
+#if 0
+ UVMHIST_FUNC(__func__);
+ UVMHIST_CALLARGS(maphist, "pdep %#jx va %#jx pte %#jx", (uintptr_t)pde,
+ va, pte, 0);
+#endif
KASSERT(pde != NULL);
KASSERT(((paddr_t)pde & PGOFSET) == 0);
@@ -433,6 +395,12 @@
pmap_pte_flush(pmap_t pmap, vaddr_t va, pt_entry_t pte)
{
+ UVMHIST_FUNC(__func__);
+ if (pmap != pmap_kernel() && va != 0) {
+ UVMHIST_CALLARGS(maphist, "pm %#jx va %#jx pte %#jx",
+ (uintptr_t)pmap, va, (uintptr_t)pte, 0);
+ }
+
fdcache(pmap->pm_space, va, PAGE_SIZE);
if (pte & PTE_PROT(TLB_EXECUTE)) {
ficache(pmap->pm_space, va, PAGE_SIZE);
@@ -528,21 +496,30 @@
struct pv_entry *pve;
int ret = 0;
+ UVMHIST_FUNC(__func__);
+ UVMHIST_CALLARGS(maphist, "pg %#jx va %#jx pte %#jx", (uintptr_t)pg,
+ va, pte, 0);
+
/* check for non-equ aliased mappings */
for (pve = md->pvh_list; pve; pve = pve->pv_next) {
vaddr_t pva = pve->pv_va & PV_VAMASK;
+ UVMHIST_LOG(maphist, "... pm %#jx va %#jx",
+ (uintptr_t)pve->pv_pmap, pva, 0, 0);
+
pte |= pmap_vp_find(pve->pv_pmap, pva);
if ((va & HPPA_PGAOFF) != (pva & HPPA_PGAOFF) &&
(pte & PTE_PROT(TLB_WRITE))) {
+ UVMHIST_LOG(maphist,
+ "aliased writable mapping %#jx:%#jx",
+ pve->pv_pmap->pm_space, pve->pv_va, 0, 0);
- DPRINTF(PDB_FOLLOW|PDB_ALIAS,
- ("%s: aliased writable mapping 0x%x:0x%lx\n",
- __func__, pve->pv_pmap->pm_space, pve->pv_va));
ret++;
}
}
+ UVMHIST_LOG(maphist, "<--- done (%jd)", ret, 0, 0, 0);
+
return (ret);
}
@@ -554,12 +531,8 @@
{
struct pv_entry *pv;
Home |
Main Index |
Thread Index |
Old Index