lkml.org 
[lkml]   [2005]   [May]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: Does smp_reschedule_interrupt really reschedule?

    * Steven Rostedt <rostedt@goodmis.org> wrote:

    > In finish_task_switch, we have:
    >
    > #if defined(CONFIG_PREEMPT_RT) && defined(CONFIG_SMP)
    > /*
    > * If we pushed an RT task off the runqueue,
    > * then kick other CPUs, they might run it:
    > */
    > if (unlikely(rt_task(current) && prev->array && rt_task(prev))) {
    > rt_overload_schedule++;
    > smp_send_reschedule_allbutself();
    > }
    > #endif
    >
    >
    > Here's my question, where does CPU1 get need_resched set? As
    > discussed earlier, smp_send_reschedule_allbutself doesn't do it.

    hm, you are right - the 'kick other CPUs' portion of RT-overload
    handling (which is a new scheduler feature currently being tested in the
    -RT kernel) is missing this step. So we might as well force a reschedule
    from the IPI handler - the way you suggested it. We might overdo
    scheduling a bit, but it cannot hurt - and it will definitely make a
    difference for the case where an RT task is waiting to be run.

    the vanilla kernel is not affected.

    Ingo
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-05-14 16:31    [W:0.022 / U:59.632 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site