lkml.org 
[lkml]   [2009]   [May]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[patch] RT: calc_load() uses wrong variable to calculate RT load
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;



\
 
 \ /
  Last update: 2009-05-06 01:57    [W:0.030 / U:1.148 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site