lkml.org 
[lkml]   [2009]   [May]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch] RT: calc_load() uses wrong variable to calculate RT load
On Tue, 5 May 2009, Frank Rowand wrote:

> In calc_load() use RT tasks to calculate the RT load.
>
> Signed-off-by: Frank Rowand <frank.rowand@am.sony.com>
>
> ---
>
> Ingo,
>
> In calc_load():
>
> #ifdef CONFIG_PREEMPT_RT
> active_rt_tasks = count_active_rt_tasks();
> #endif
>
> but active_rt_tasks is then not used. I have not read through enough code
> to verify my supposition, but the obvious use of this variable would be for
> the calculation of the RT load average.
>
> If my supposition is correct, this patch fixes the problem.

Yep, that's correct. Though I ponder to get rid of avenrun_rt all
together.

Thanks,

tglx

> The patch is compile tested only.
>
> -Frank Rowand
> Sony Corporation of America
>
>
> Index: linux-2.6.29.2/kernel/timer.c
> ===================================================================
> --- linux-2.6.29.2.orig/kernel/timer.c
> +++ linux-2.6.29.2/kernel/timer.c
> @@ -1249,9 +1249,9 @@ static inline void calc_load(unsigned lo
> CALC_LOAD(avenrun[1], EXP_5, active_tasks);
> CALC_LOAD(avenrun[2], EXP_15, active_tasks);
> #ifdef CONFIG_PREEMPT_RT
> - CALC_LOAD(avenrun_rt[0], EXP_1, active_tasks);
> - CALC_LOAD(avenrun_rt[1], EXP_5, active_tasks);
> - CALC_LOAD(avenrun_rt[2], EXP_15, active_tasks);
> + CALC_LOAD(avenrun_rt[0], EXP_1, active_rt_tasks);
> + CALC_LOAD(avenrun_rt[1], EXP_5, active_rt_tasks);
> + CALC_LOAD(avenrun_rt[2], EXP_15, active_rt_tasks);
> #endif
> count += LOAD_FREQ;
>
>


\
 
 \ /
  Last update: 2009-05-06 10:47    [W:0.040 / U:5.836 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site