bug-hurd
[Top][All Lists]
Advanced

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

Re: [PATCH gnumach] kern: disable all counters by default


From: Samuel Thibault
Subject: Re: [PATCH gnumach] kern: disable all counters by default
Date: Mon, 1 Dec 2014 19:00:18 +0100
User-agent: Mutt/1.5.21+34 (58baf7c9f32f) (2010-12-30)

Justus Winter, le Mon 01 Dec 2014 18:51:53 +0100, a écrit :
> Make all five non-conditional counters conditional ones.  Casual
> checking revealed that the hits-to-miss ratio is excellent.

Ack.

> * 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
> 

-- 
Samuel
mdiym42: note to self
mdiym42: make sure your cat is not sleeping in the bass drum before you start 
playing them



reply via email to

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