[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <BANLkTinWBdURcb2+P5YC99audiVohX4DQA@mail.gmail.com>
Date: Fri, 8 Apr 2011 11:25:28 -0700
From: Ken Chen <kenchen@...gle.com>
To: Vladimir Davydov <VDavydov@...allels.com>
Cc: "a.p.zijlstra@...llo.nl" <a.p.zijlstra@...llo.nl>,
"mingo@...e.hu" <mingo@...e.hu>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: Subject: [PATCH] sched: fixed erroneous all_pinned logic.
On Fri, Apr 8, 2011 at 3:57 AM, Vladimir Davydov wrote:
>
> As far as I understand, this patch sets the all_pinned flag if
> and only if we fail to move any tasks during the load balance.
> However, the migration can fail because e.g. all tasks are
> cache hot on their cpus (can_migrate_task() returns 0 in this
> case), and in this case we shouldn't treat all tasks as cpu
> bound, should we?
all_pinned logic is not restricted for tasks that have hard CPU affinity.
In balance_tasks(), e.g. if all tasks have high weight, it would also trip
all_pinned to 1. See ( p->se.load.weight >> 1) > rem_load_move). I don't
see much difference whether a task has high weight, or is cache hot, or
has hard cpu affinity.
The effect of classifying cache_hot as pinned task or not is difficult to
measure, I think. Because that state is more temporal compare to the
other two conditions.
I don't have enough data to indicate which way is better though.
- Ken
--
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