Re: [git pull] scheduler fix

From: Linus Torvalds
Date: Wed Jan 07 2009 - 18:48:47 EST




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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/