[lkml]   [2005]   [May]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: RT and Cascade interrupts
    lau den 28.05.2005 Klokka 13:48 (-0400) skreiv john cooper:

    > The other possibility to fix the original problem within
    > the scope of the RPC code was to replace the bit state of
    > RPC_TASK_HAS_TIMER with a count so we don't obscure the
    > fact the timer was requeued during the preemption window.
    > This happens as rpc_run_timer() does an unconditional
    > clear_bit(RPC_TASK_HAS_TIMER,..) before returning.
    > Another would be to check timer->base/timer_pending()
    > in rpc_run_timer() and to omit doing a clear_bit()
    > if the timer is found to have been requeued.

    Could you please explain why you think such a scenario is possible? The
    timer functions themselves should never be causing a re-queue, and every
    iteration through the loop in __rpc_execute() should cause any pending
    timer to be killed, as should rpc_release_task().

    That's why we can use del_singleshot_timer_sync() in the first place:
    because there is no recursion, and no re-queueing that can cause races.
    I don't see how either preemption or RT will change that (and if they
    do, then _that_ is the real bug that needs fixing).


    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-28 22:39    [W:0.021 / U:7.092 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site