lkml.org 
[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
    From
    Date
    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.

    Excellent.

    Robert Love

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