Messages in this thread | | | Date | Fri, 29 Jul 2011 16:46:37 +0800 | From | Yong Zhang <> | Subject | Re: [PATCH] sched: Remove WAKEUP_PREEMPT feature check in entity_tick |
| |
On Fri, Jul 29, 2011 at 10:20:50AM +0200, Peter Zijlstra wrote: > On Fri, 2011-07-29 at 16:18 +0800, Yong Zhang wrote: > > > Nah, if there is 1 runnable task it will always run, preemption simply > > > doesn't matter. There's nothing to preempt it with. > > > > Hmmm, so the newly waked task could be scheduled a little later. > > That means schedule tick judge everything. > > Oh, are you referring to the case where a task gets woken on an idle > remote cpu?
Not really.
Let's take UP for example, we have cpu-hug task A and threadirq B.
n tick ---> n+1 tick set_tsk_need_resched(A); B comes in and wake up thread-B;
So for system on which we disable WAKEUP_PREEMPT, if we don't have that check, thread-B will wait until n+1 tick comes to get to run. But if we have that check, thread-B will get to run after IRQ-B returns.
Thanks, Yong
-- Only stand for myself
| |