bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH gnumach] kern: disable all counters by default


From: Justus Winter
Subject: [PATCH gnumach] kern: disable all counters by default
Date: Mon, 1 Dec 2014 18:51:53 +0100

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.
---
 kern/counters.c   | 3 +--
 kern/counters.h   | 3 +--
 kern/ipc_sched.c  | 4 ++--
 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);
 
        /*
-- 
2.1.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]