[lkml]   [2002]   [Jun]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [patch] current scheduler bits, 2.5.21
    On Mon, 2002-06-10 at 17:05, Ingo Molnar wrote:

    > Thanks. I've applied your patch with the following additional
    > improvements:
    > - The spin_unlock_irqrestore path does not have to be split up like the
    > spin_lock path: spin_unlock() + local_irq_restore() ==
    > spin_unlock_irqrestore() ... this is true both in task_rq_unlock() and
    > rq_unlock() code.

    I know. The reason I split them up is to maintain consistency through
    the way we lock vs unlock and enable vs disable interrupts. Partly for
    style, partly in case we ever decide to hook the different calls in a
    different manner.

    I do not see this in your patch, though ...

    > - in sys_sched_yield() you removed an optimization: the final spin_unlock
    > does not have to check for resched explicitly, we'll call into
    > schedule() anyway. I've introduced a new spin_unlock variant:
    > spin_unlock_no_resched(), which uses preempt_enable_no_resched().

    Ah yes, very good. I was too busy noticing the optimization I _did_ put
    in: not calling rq_unlock here as we can just leave interrupts disabled
    on return...

    Very good.

    > otherwise it's looking good. The attached patch is my current tree which
    > includes the rq-lock/unlock optimization plus the previous patches
    > (race-fix and sync-wakeup), against 2.5.21-vanilla.


    Robert Love

    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-03-22 13:26    [W:0.029 / U:3.092 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site