![]() | |||||||||||||
Messages in this thread |
On Fri, 23 Jun 2006 12:16:09 +0400
Kirill Korotaev <dev@openvz.org> wrote:
> Looks like there is a race between set_cpus_allowed()
> and move_task_off_dead_cpu().
> __migrate_task() doesn't report any err code, so
> task can be left on its runqueue if its cpus_allowed mask
> changed so that dest_cpu is not longer a possible target.
> Also, chaning cpus_allowed mask requires rq->lock being held.
>
> Signed-Off-By: Kirill Korotaev <dev@openvz.org>
>
> Kirill
> P.S. against 2.6.17-mm1
>
That's not against 2.6.17-mm1.
> static void move_task_off_dead_cpu(int dead_cpu, struct task_struct *tsk)
> {
> - int dest_cpu;
> + runqueue_t *rq;
> + unsigned long flags;
> + int dest_cpu, res;
> cpumask_t mask;
> int force = 0;
>
Your kernel has extra goodies: the `force' stuff.
Please check that the patch which I merged is correct.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
| ||||||||||||
| Last update: 2006-06-24 05:28 [from the cache] ©2003-2008 | |||||||||||||