Re: [PATCH 06/40] sched: add wakeup/sleep sched_notifiers and allow NULL notifier ops

Peter Zijlstra
2010-01-19T08:56:23Z

On Tue, 2010-01-19 at 17:28 +0900, Tejun Heo wrote:
> Hello,
>
> On 01/19/2010 10:04 AM, Tejun Heo wrote:
> >> I'm thinking that we can place it next to activate_task(), if it makes
> >> you feel better you can place them both at the end up ttwu_activate()
> >> instead of in the middle.
> >>
> >> Esp. with the callback you have it really doesn't matter.
> >
> > Alright, if it's safe, there's no reason to keep it separate with an
> > extra branch. I'll move it.
>
> Alright, was trying to convert it and I'm still a bit worried. One of
> the reasons I put it at the end of post_activation() is to allow
> calling try_to_wake_up_local() from wakeup callback. This won't be
> used by cmwq right now but making it symmetrical to sleep callback
> would be more consistent, so... If we fire wakeup callback right
> after activate_task() and allow try_to_wake_up_local() to be called
> from it, wake up logic ends up being nested inside outer wake up which
> is still in progress. Would that be safe too?

I think so, still doing a wakeup from a wakeup sounds like trouble in
that it has the potential to a thundering herd, so I'd really rather
you'd not do something like that.