* [patch] RT: calc_load() uses wrong variable to calculate RT load
@ 2009-05-05 23:53 Frank Rowand
2009-05-06 8:44 ` Thomas Gleixner
0 siblings, 1 reply; 2+ messages in thread
From: Frank Rowand @ 2009-05-05 23:53 UTC (permalink / raw)
To: mingo; +Cc: tglx, linux-kernel
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.
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;
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [patch] RT: calc_load() uses wrong variable to calculate RT load
2009-05-05 23:53 [patch] RT: calc_load() uses wrong variable to calculate RT load Frank Rowand
@ 2009-05-06 8:44 ` Thomas Gleixner
0 siblings, 0 replies; 2+ messages in thread
From: Thomas Gleixner @ 2009-05-06 8:44 UTC (permalink / raw)
To: Frank Rowand; +Cc: mingo, linux-kernel
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;
>
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2009-05-06 8:45 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-05 23:53 [patch] RT: calc_load() uses wrong variable to calculate RT load Frank Rowand
2009-05-06 8:44 ` Thomas Gleixner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox