FreeBSD/Linux Kernel Cross Reference
sys/kern/counters.h
1 /*
2 * Mach Operating System
3 * Copyright (c) 1991,1990,1989,1988,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 Software.Distribution@CS.CMU.EDU
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 * HISTORY
28 * $Log: counters.h,v $
29 * Revision 2.3 91/05/14 16:40:30 mrt
30 * Correcting copyright
31 *
32 * Revision 2.2 91/03/16 15:16:06 rpd
33 * Created.
34 * [91/03/13 rpd]
35 *
36 */
37
38 #ifndef _KERN_COUNTERS_
39 #define _KERN_COUNTERS_
40
41 #include <mach_counters.h>
42
43 /*
44 * We can count various interesting events and paths.
45 *
46 * Use counter() to change the counters, eg:
47 * counter(c_idle_thread_block++);
48 * Use counter_always() for non-conditional counters.
49 */
50
51 #define counter_always(code) code
52
53 #if MACH_COUNTERS
54
55 #define counter(code) counter_always(code)
56
57 #else MACH_COUNTERS
58
59 #define counter(code)
60
61 #endif MACH_COUNTERS
62
63 /*
64 * We define the counters with individual integers,
65 * instead of a big structure, so that ddb
66 * will know the addresses of the counters.
67 */
68
69 typedef unsigned int mach_counter_t;
70
71 extern mach_counter_t c_thread_invoke_hits;
72 extern mach_counter_t c_thread_invoke_misses;
73 extern mach_counter_t c_thread_invoke_csw;
74 extern mach_counter_t c_thread_handoff_hits;
75 extern mach_counter_t c_thread_handoff_misses;
76
77 #if MACH_COUNTERS
78 extern mach_counter_t c_threads_current;
79 extern mach_counter_t c_threads_max;
80 extern mach_counter_t c_threads_min;
81 extern mach_counter_t c_threads_total;
82 extern mach_counter_t c_stacks_current;
83 extern mach_counter_t c_stacks_max;
84 extern mach_counter_t c_stacks_min;
85 extern mach_counter_t c_stacks_total;
86 extern mach_counter_t c_clock_ticks;
87 extern mach_counter_t c_ipc_mqueue_send_block;
88 extern mach_counter_t c_ipc_mqueue_receive_block_user;
89 extern mach_counter_t c_ipc_mqueue_receive_block_kernel;
90 extern mach_counter_t c_mach_msg_trap_block_fast;
91 extern mach_counter_t c_mach_msg_trap_block_slow;
92 extern mach_counter_t c_mach_msg_trap_block_exc;
93 extern mach_counter_t c_exception_raise_block;
94 extern mach_counter_t c_swtch_block;
95 extern mach_counter_t c_swtch_pri_block;
96 extern mach_counter_t c_thread_switch_block;
97 extern mach_counter_t c_thread_switch_handoff;
98 extern mach_counter_t c_ast_taken_block;
99 extern mach_counter_t c_thread_halt_self_block;
100 extern mach_counter_t c_vm_fault_page_block_busy_user;
101 extern mach_counter_t c_vm_fault_page_block_busy_kernel;
102 extern mach_counter_t c_vm_fault_page_block_backoff_user;
103 extern mach_counter_t c_vm_fault_page_block_backoff_kernel;
104 extern mach_counter_t c_vm_page_wait_block_user;
105 extern mach_counter_t c_vm_page_wait_block_kernel;
106 extern mach_counter_t c_vm_pageout_block;
107 extern mach_counter_t c_vm_pageout_scan_block;
108 extern mach_counter_t c_idle_thread_block;
109 extern mach_counter_t c_idle_thread_handoff;
110 extern mach_counter_t c_sched_thread_block;
111 extern mach_counter_t c_io_done_thread_block;
112 extern mach_counter_t c_net_thread_block;
113 extern mach_counter_t c_reaper_thread_block;
114 extern mach_counter_t c_swapin_thread_block;
115 extern mach_counter_t c_action_thread_block;
116 #endif MACH_COUNTERS
117
118 #endif _KERN_COUNTERS_
Cache object: 3bce7f6b33cd2afb2a9838ae8172f427
|