|
|
1.1 root 1: /*
2: * Mach Operating System
3: * Copyright (c) 1993-1987 Carnegie Mellon University
4: * All Rights Reserved.
5: *
6: * Permission to use, copy, modify and distribute this software and its
7: * documentation is hereby granted, provided that both the copyright
8: * notice and this permission notice appear in all copies of the
9: * software, derivative works or modified versions, and any portions
10: * thereof, and that both notices appear in supporting documentation.
11: *
12: * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
13: * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
14: * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
15: *
16: * Carnegie Mellon requests users of this software to return to
17: *
18: * Software Distribution Coordinator or [email protected]
19: * School of Computer Science
20: * Carnegie Mellon University
21: * Pittsburgh PA 15213-3890
22: *
23: * any improvements or extensions that they make and grant Carnegie Mellon
24: * the rights to redistribute these changes.
25: */
26: /*
27: * File: mach/vm_statistics.h
28: * Author: Avadis Tevanian, Jr., Michael Wayne Young, David Golub
29: *
30: * Virtual memory statistics structure.
31: *
32: */
33:
34: #ifndef _MACH_VM_STATISTICS_H_
35: #define _MACH_VM_STATISTICS_H_
36:
37: #include <mach/machine/vm_types.h>
38:
39: struct vm_statistics {
40: integer_t pagesize; /* page size in bytes */
41: integer_t free_count; /* # of pages free */
42: integer_t active_count; /* # of pages active */
43: integer_t inactive_count; /* # of pages inactive */
44: integer_t wire_count; /* # of pages wired down */
45: integer_t zero_fill_count; /* # of zero fill pages */
46: integer_t reactivations; /* # of pages reactivated */
47: integer_t pageins; /* # of pageins */
48: integer_t pageouts; /* # of pageouts */
49: integer_t faults; /* # of faults */
50: integer_t cow_faults; /* # of copy-on-writes */
51: integer_t lookups; /* object cache lookups */
52: integer_t hits; /* object cache hits */
53: };
54:
55: typedef struct vm_statistics *vm_statistics_t;
56: typedef struct vm_statistics vm_statistics_data_t;
57:
58: #ifdef MACH_KERNEL
59: extern vm_statistics_data_t vm_stat;
60: #endif /* MACH_KERNEL */
61:
62: /*
63: * Each machine dependent implementation is expected to
64: * keep certain statistics. They may do this anyway they
65: * so choose, but are expected to return the statistics
66: * in the following structure.
67: */
68:
69: struct pmap_statistics {
70: integer_t resident_count; /* # of pages mapped (total)*/
71: integer_t wired_count; /* # of pages wired */
72: };
73:
74: typedef struct pmap_statistics *pmap_statistics_t;
75: #endif /* _MACH_VM_STATISTICS_H_ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.