[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110423141113.GA7747@zhy>
Date: Sat, 23 Apr 2011 22:11:13 +0800
From: Yong Zhang <yong.zhang0@...il.com>
To: Hillf Danton <dhillf@...il.com>
Cc: LKML <linux-kernel@...r.kernel.org>, Ingo Molnar <mingo@...e.hu>,
Peter Zijlstra <peterz@...radead.org>
Subject: Re: [PATCH] sched: try to rewrite tg_has_rt_tasks()
On Sat, Apr 23, 2011 at 09:39:40PM +0800, Hillf Danton wrote:
> 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.
Oh, no.
There may be sleep task which is attach this group.
Thanks,
Yong
>
> Signed-off-by: Hillf Danton <dhillf@...il.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;
> }
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists