[lkml]   [2005]   [May]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: Does smp_reschedule_interrupt really reschedule?
    On Fri, 2005-05-13 at 20:26 +0200, Ingo Molnar wrote:
    > it's all a bit tricky. The short story is that i think both vanilla and
    > -RT kernels are fine.
    > Here is how smp_send_reschedule() is used:
    > CPU#0 CPU#1
    > set_tsk_need_resched(rq->curr);
    > ...
    > smp_send_reschedule()
    > --- IPI --->
    > smp_reschedule_interrupt();
    > ...
    > entry.S's need_resched check

    OK, Forget about vanilla, I'm keeping to your kernel now ;-)

    In finish_task_switch, where is need_resched set?

    > _but_, this is intentionally racy: if CPU#1 happens to reschedule before
    > the IPI reaches CPU#1 (an IPI can take 10 usecs easily so the window is
    > not small), then need_resched might be cleared before the IPI hits. In
    > that case you wont get a reschedule after the IPI hits, because it was
    > done before!
    > so the correct thing to measure is what the -RT kernel's wakeup-latency
    > timing feature does: the time from setting need_resched, to the point
    > the task starts to run. The feature works on SMP too - and it doesnt
    > show any large latencies.
    > are you seeing actual process delays? If not then i think those large
    > latencies are just the result of the wrong assumptions in your
    > measurement code.

    No this wasn't from real world applications yet. So the bug may rightly
    be with the placement of my timers. I was looking at the code and
    didn't know how the reschedule takes place and started testing it. Let
    me know where that need_resched is with that finish_task_switch code,
    and I'll probably be happy with just that.


    -- Steve

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-05-13 21:13    [W:0.020 / U:9.352 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site