lkml.org 
[lkml]   [2006]   [Nov]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 2/8] Remove staggering of load balancing
    Remove load staggering.

    Timer interrupts already are staggered. We do not need an additional
    layer of time staggering for short load balancing actions that take a
    reasonably small portion of the time slice.

    For load balancing on large sched_domains we will add a serialization
    later that avoids concurrent load balance operations and thus has
    the same effect as load staggering.

    Signed-off-by: Christoph Lameter <clameter@sgi.com>

    Index: linux-2.6.19-rc5-mm1/kernel/sched.c
    ===================================================================
    --- linux-2.6.19-rc5-mm1.orig/kernel/sched.c 2006-11-10 22:47:56.305271903 -0600
    +++ linux-2.6.19-rc5-mm1/kernel/sched.c 2006-11-10 22:48:09.002647332 -0600
    @@ -2844,16 +2844,10 @@ static void active_load_balance(struct r
    * Balancing parameters are set up in arch_init_sched_domains.
    */

    -/* Don't have all balancing operations going off at once: */
    -static inline unsigned long cpu_offset(int cpu)
    -{
    - return jiffies + cpu * HZ / NR_CPUS;
    -}
    -
    static void
    rebalance_tick(int this_cpu, struct rq *this_rq, enum idle_type idle)
    {
    - unsigned long this_load, interval, j = cpu_offset(this_cpu);
    + unsigned long this_load, interval;
    struct sched_domain *sd;
    int i, scale;

    @@ -2888,7 +2882,7 @@ rebalance_tick(int this_cpu, struct rq *
    if (unlikely(!interval))
    interval = 1;

    - if (j - sd->last_balance >= interval) {
    + if (jiffies - sd->last_balance >= interval) {
    if (load_balance(this_cpu, this_rq, sd, idle)) {
    /*
    * We've pulled tasks over so either we're no
    -
    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: 2006-11-14 21:37    [W:0.040 / U:30.172 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site