Re: [PATCH] sched: Remove WAKEUP_PREEMPT feature check in entity_tick

From: Yong Zhang
Date: Fri Jul 29 2011 - 04:46:49 EST


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
--
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/