Add RSS accounting.

This commit is contained in:
tsubai 1999-03-05 06:10:48 +00:00
parent 93466b768a
commit 96f0fb14a1
3 changed files with 12 additions and 3 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: pmap.h,v 1.10 1999/02/26 14:40:45 tsubai Exp $ */
/* $NetBSD: pmap.h,v 1.11 1999/03/05 06:10:48 tsubai Exp $ */
/*-
* Copyright (C) 1995, 1996 Wolfgang Solfrank.
@ -54,6 +54,7 @@ typedef u_int sr_t;
struct pmap {
sr_t pm_sr[16]; /* segments used in this pmap */
int pm_refs; /* ref count */
struct pmap_statistics pm_stats; /* pmap statistics */
};
typedef struct pmap *pmap_t;
@ -70,6 +71,8 @@ extern struct pmap kernel_pmap_;
#define pmap_phys_address(x) (x)
#define pmap_resident_count(pmap) ((pmap)->pm_stats.resident_count)
void pmap_bootstrap __P((u_int kernelstart, u_int kernelend));
paddr_t pmap_extract __P((struct pmap *, vaddr_t));
void ptemodify __P((paddr_t, u_int, u_int));

View File

@ -1,4 +1,4 @@
/* $NetBSD: db_trace.c,v 1.2 1998/02/23 03:23:05 mycroft Exp $ */
/* $NetBSD: db_trace.c,v 1.3 1999/03/05 06:10:48 tsubai Exp $ */
/* $OpenBSD: db_trace.c,v 1.3 1997/03/21 02:10:48 niklas Exp $ */
/*
@ -30,6 +30,8 @@
#include <sys/param.h>
#include <sys/proc.h>
#include <vm/vm.h>
#include <machine/db_machdep.h>
#include <machine/pmap.h>

View File

@ -1,4 +1,4 @@
/* $NetBSD: pmap.c,v 1.16 1999/02/26 14:40:45 tsubai Exp $ */
/* $NetBSD: pmap.c,v 1.17 1999/03/05 06:10:48 tsubai Exp $ */
/*
* Copyright (C) 1995, 1996 Wolfgang Solfrank.
@ -1053,6 +1053,7 @@ pmap_enter(pm, va, pa, prot, wired)
}
s = splimp();
pm->pm_stats.resident_count++;
/*
* Try to insert directly into HTAB.
*/
@ -1095,6 +1096,7 @@ pmap_remove(pm, va, endva)
asm volatile ("sync");
tlbie(va);
tlbsync();
pm->pm_stats.resident_count--;
}
for (ptp = ptable + (idx ^ ptab_mask) * 8, i = 8; --i >= 0; ptp++)
if (ptematch(ptp, sr, va, PTE_VALID | PTE_HID)) {
@ -1103,6 +1105,7 @@ pmap_remove(pm, va, endva)
asm volatile ("sync");
tlbie(va);
tlbsync();
pm->pm_stats.resident_count--;
}
for (po = potable[idx].lh_first; po; po = npo) {
npo = po->po_list.le_next;
@ -1111,6 +1114,7 @@ pmap_remove(pm, va, endva)
&po->po_pte);
LIST_REMOVE(po, po_list);
pofree(po, 1);
pm->pm_stats.resident_count--;
}
}
va += NBPG;