On Mon, 2006-08-21 at 22:15 +0530, Srivatsa Vaddagiri wrote:
> Hence task_rq(awakening)->curr == current, which should be sufficient to
Ah, ok. Thanks. I should have read more of the code instead of
pondering the text.
> resched(current), although I think there is a bug in current code
> (irrespective of these patches):
>
> try_to_wake_up() :
>
> ...
>
> if (!sync || cpu != this_cpu) {
> if (TASK_PREEMPTS_CURR(p, rq))
> resched_task(rq->curr);
> }
> success = 1;
>
> ...
>
> TASK_PREEMPTS_CURR() is examined and resched_task() is called only if
> (cpu != this_cpu). What about the case (cpu == this_cpu) - who will
> call resched_task() on current? I had expected the back-end of interrupt
> handling to do that, but didnt find any code to do so.
Looks ok to me. Everything except sync && cpu == this_cpu checks.
-Mike
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]