wake_up vs. wake_up_sync
I'm having trouble understanding the difference between these. Synchronous apparently causes try_to_wake_up() to NOT call reschedule_idle() but I'm uncertain what reschedule_idle() is doing. I assume it just looks for an idle CPU and makes that CPU reschedule.
What is the purpose of wake_up_sync? Why would you want to prevent reschedule_idle()?
Scott