Messages in this thread | | | From | Con Kolivas <> | Subject | Re: [PATCH] sched: CPU hotplug race vs. set_cpus_allowed() | Date | Fri, 23 Jun 2006 20:53:22 +1000 |
| |
On Friday 23 June 2006 18:16, Kirill Korotaev 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
Hi!
Since you've got
-static void __migrate_task(struct task_struct *p, int src_cpu, int dest_cpu) +static int __migrate_task(struct task_struct *p, int src_cpu, int dest_cpu) { runqueue_t *rq_dest, *rq_src; + int res = 0; if (unlikely(cpu_is_offline(dest_cpu))) - return; + return 0;
why not return res here?
oh and ret is a more commonly used name than res (your choice of course).
and an addition to the comment such as "returns non-zero only when it fails to migrate the task" would be nice.
thanks!
-- -ck
-- -ck - 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/
| |