diff --git a/sys/arch/sparc/sparc/pmap.c b/sys/arch/sparc/sparc/pmap.c index cf0daaaaaa40..7b33f96b794a 100644 --- a/sys/arch/sparc/sparc/pmap.c +++ b/sys/arch/sparc/sparc/pmap.c @@ -1,4 +1,4 @@ -/* $NetBSD: pmap.c,v 1.293 2004/04/22 11:57:33 pk Exp $ */ +/* $NetBSD: pmap.c,v 1.294 2004/04/27 11:26:43 pk Exp $ */ /* * Copyright (c) 1996 @@ -56,7 +56,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.293 2004/04/22 11:57:33 pk Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.294 2004/04/27 11:26:43 pk Exp $"); #include "opt_ddb.h" #include "opt_kgdb.h" @@ -139,6 +139,16 @@ struct pmap_stats { int ps_npmeg_lru; /* # of pmegs on lru list */ } pmap_stats; +#if defined(SUN4) || defined(SUN4C) +struct evcnt mmu_stolenpmegs_evcnt = + EVCNT_INITIALIZER(EVCNT_TYPE_INTR,0,"mmu","stln pmgs"); +EVCNT_ATTACH_STATIC(mmu_stolenpmegs_evcnt); + +struct evcnt mmu_pagein_evcnt = + EVCNT_INITIALIZER(EVCNT_TYPE_INTR,0,"mmu","pagein"); +EVCNT_ATTACH_STATIC(mmu_pagein_evcnt); +#endif /* SUN4 || SUN4C */ + #ifdef DEBUG #define PDB_CREATE 0x0001 #define PDB_DESTROY 0x0002 @@ -1641,6 +1651,9 @@ me_alloc(mh, newpm, newvreg, newvseg) printf("me_alloc: stealing pmeg 0x%x from pmap %p\n", me->me_cookie, pm); #endif + + mmu_stolenpmegs_evcnt.ev_count++; + /* * Remove from LRU list, and insert at end of new list * (probably the LRU list again, but so what?). @@ -2023,6 +2036,8 @@ mmu_pagein_seg(struct pmap *pm, struct segmap *sp, vaddr_t va, { int s, i, pmeg, *pte; + mmu_pagein_evcnt.ev_count++; + va = VA_ROUNDDOWNTOSEG(va); s = splvm(); /* paranoid */ sp->sg_pmeg = pmeg = me_alloc(mh, pm, vr, vs);