Messages in this thread | | | Date | Wed, 7 Jan 2009 15:47:52 -0800 (PST) | From | Linus Torvalds <> | Subject | Re: [git pull] scheduler fix |
| |
On Wed, 7 Jan 2009, Ingo Molnar wrote: > + /* > + * Should not call ttwu while holding a rq->lock > + */ > + spin_unlock(&this_rq->lock); > if (active_balance) > wake_up_process(busiest->migration_thread); > + spin_lock(&this_rq->lock);
Btw, this isn't the first time we've wanted to do a wakeup while potentially locked.
Is there any way to perhaps go a "wake_up_gentle()" that doesn't need the lock, and just basically does a potentially delayed wakeup by just scheduling it asynchronously.
That would have solved all those nasty printk issues too. These kinds of things don't need the strict "wake up NOW" behaviour - they are more of a "kick the dang thing and make sure it wakes up in some timely manner".
Linus
| |