public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [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

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