lkml.org 
[lkml]   [2011]   [Apr]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
Subject[PATCH] sched: try to rewrite tg_has_rt_tasks()
From
It is reshuffled not based upon scanning the list of existing threads
but upon the relevant info carried by the input task group. Compared
with the original, it is simpler, and nothing important is missed.

Signed-off-by: Hillf Danton <dhillf@gmail.com>
---

--- a/kernel/sched.c 2011-03-30 03:09:48.000000000 +0800
+++ b/kernel/sched.c 2011-04-23 21:48:14.000000000 +0800
@@ -8756,13 +8756,11 @@ static unsigned long to_ratio(u64 period
/* Must be called with tasklist_lock held */
static inline int tg_has_rt_tasks(struct task_group *tg)
{
- struct task_struct *g, *p;
-
- do_each_thread(g, p) {
- if (rt_task(p) && rt_rq_of_se(&p->rt)->tg == tg)
+ int cpu;
+ for_each_online_cpu(cpu) {
+ if (tg->rt_rq[cpu]->rt_nr_running != 0)
return 1;
- } while_each_thread(g, p);
-
+ }
return 0;
}

\
 
 \ /
  Last update: 2011-04-23 15:41    [W:0.343 / U:0.060 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site