Messages in this thread | | | Date | Thu, 11 Nov 2010 17:32:43 +0100 | From | Oleg Nesterov <> | Subject | Re: [RFC][PATCH 06/22] sched: SCHED_DEADLINE handles spacial kthreads |
| |
On 11/11, Peter Zijlstra wrote: > > On Thu, 2010-11-11 at 16:27 +0100, Oleg Nesterov wrote: > > > > Sorry, can't resist, off-topic quiestion. Do we really need > > migration_call()->migrate_live_tasks() ? > > > > With the recent changes, try_to_wake_up() can never choose > > the dead (!cpu_online) cpu if the task was deactivated. > > > > Looks like we should only worry about the running tasks, and > > migrate_dead_tasks()->pick_next_task() loop seems to all work > > we need. > > > > (Of course, we can't just remove migrate_live_tasks(), at leat > > migrate_dead() needs simple changes). > > > > What do you think? > > Yes, I think we can make that work, we could even move that > migrate_live_tasks() into CPU_DYING, which is before this point.
Hmm, I think you are right. In this case we can also simplify migrate-from-dead-cpu paths, we know that nobody can touch rq->lock, every CPU runs stop_machine_cpu_stop() with irqs disabled. No need to get/put task_struct, etc.
Oleg.
| |