diff options
author | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-12-01 16:16:04 +0100 |
---|---|---|
committer | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-12-01 16:16:04 +0100 |
commit | cd76999cd1cf590b95df3e22d2eb2a7dad333499 (patch) | |
tree | ea0b5671e3f5376e62f17b8799120a3ca96b0b98 /kern | |
parent | 51ebaeb376521c0dbd0020d3515a4b5dfe01a12d (diff) |
kern: disable all counters by default
Make all five non-conditional counters conditional ones. Casual
checking revealed that the hits-to-miss ratio is excellent.
* kern/counters.c: Make all counters conditional.
* kern/counters.h: Likewise.
* kern/ipc_sched.c: Likewise.
* kern/sched_prim.c: Likewise.
Diffstat (limited to 'kern')
-rw-r--r-- | kern/counters.c | 3 | ||||
-rw-r--r-- | kern/counters.h | 3 | ||||
-rw-r--r-- | kern/ipc_sched.c | 4 | ||||
-rw-r--r-- | kern/sched_prim.c | 8 |
4 files changed, 8 insertions, 10 deletions
diff --git a/kern/counters.c b/kern/counters.c index a9d450e..74fd42d 100644 --- a/kern/counters.c +++ b/kern/counters.c @@ -32,13 +32,12 @@ * This makes them easier to examine with ddb. */ +#if MACH_COUNTERS mach_counter_t c_thread_invoke_hits = 0; mach_counter_t c_thread_invoke_misses = 0; mach_counter_t c_thread_invoke_csw = 0; mach_counter_t c_thread_handoff_hits = 0; mach_counter_t c_thread_handoff_misses = 0; - -#if MACH_COUNTERS mach_counter_t c_threads_current = 0; mach_counter_t c_threads_max = 0; mach_counter_t c_threads_min = 0; diff --git a/kern/counters.h b/kern/counters.h index 474c6a2..bfa9b44 100644 --- a/kern/counters.h +++ b/kern/counters.h @@ -55,13 +55,12 @@ typedef unsigned int mach_counter_t; +#if MACH_COUNTERS extern mach_counter_t c_thread_invoke_hits; extern mach_counter_t c_thread_invoke_misses; extern mach_counter_t c_thread_invoke_csw; extern mach_counter_t c_thread_handoff_hits; extern mach_counter_t c_thread_handoff_misses; - -#if MACH_COUNTERS extern mach_counter_t c_threads_current; extern mach_counter_t c_threads_max; extern mach_counter_t c_threads_min; diff --git a/kern/ipc_sched.c b/kern/ipc_sched.c index d5b9263..cc1672d 100644 --- a/kern/ipc_sched.c +++ b/kern/ipc_sched.c @@ -214,7 +214,7 @@ thread_handoff( thread_unlock(new); (void) splx(s); - counter_always(c_thread_handoff_misses++); + counter(c_thread_handoff_misses++); return FALSE; } @@ -278,6 +278,6 @@ thread_handoff( after_old_thread: (void) splx(s); - counter_always(c_thread_handoff_hits++); + counter(c_thread_handoff_hits++); return TRUE; } diff --git a/kern/sched_prim.c b/kern/sched_prim.c index 66eb9c9..89fb1dc 100644 --- a/kern/sched_prim.c +++ b/kern/sched_prim.c @@ -726,7 +726,7 @@ boolean_t thread_invoke( * running out of stack. */ - counter_always(c_thread_invoke_hits++); + counter(c_thread_invoke_hits++); (void) spl0(); call_continuation(new_thread->swap_func); /*NOTREACHED*/ @@ -738,7 +738,7 @@ boolean_t thread_invoke( */ thread_swapin(new_thread); thread_unlock(new_thread); - counter_always(c_thread_invoke_misses++); + counter(c_thread_invoke_misses++); return FALSE; case 0: @@ -759,7 +759,7 @@ boolean_t thread_invoke( { thread_swapin(new_thread); thread_unlock(new_thread); - counter_always(c_thread_invoke_misses++); + counter(c_thread_invoke_misses++); return FALSE; } } @@ -788,7 +788,7 @@ boolean_t thread_invoke( * changing address spaces. It updates active_threads. * It returns only if a continuation is not supplied. */ - counter_always(c_thread_invoke_csw++); + counter(c_thread_invoke_csw++); old_thread = switch_context(old_thread, continuation, new_thread); /* |