• Joonsoo Kim's avatar
    sched: Factor out code to should_we_balance() · 23f0d209
    Joonsoo Kim authored
    Now checking whether this cpu is appropriate to balance or not
    is embedded into update_sg_lb_stats() and this checking has no direct
    relationship to this function. There is not enough reason to place
    this checking at update_sg_lb_stats(), except saving one iteration
    for sched_group_cpus.
    
    In this patch, I factor out this checking to should_we_balance() function.
    And before doing actual work for load_balancing, check whether this cpu is
    appropriate to balance via should_we_balance(). If this cpu is not
    a candidate for balancing, it quit the work immediately.
    
    With this change, we can save two memset cost and can expect better
    compiler optimization.
    
    Below is result of this patch.
    
     * Vanilla *
       text	   data	    bss	    dec	    hex	filename
      34499	   1136	    116	  35751	   8ba7	kernel/sched/fair.o
    
     * Patched *
       text	   data	    bss	    dec	    hex	filename
      34243	   1136	    116	  35495	   8aa7	kernel/sched/fair.o
    
    In addition, rename @balance to @continue_balancing in order to represent
    its purpose more clearly.
    Signed-off-by: default avatarJoonsoo Kim <iamjoonsoo.kim@lge.com>
    [ s/should_balance/continue_balancing/g ]
    Reviewed-by: default avatarPaul Turner <pjt@google.com>
    [ Made style changes and a fix in should_we_balance(). ]
    Signed-off-by: default avatarPeter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/1375778203-31343-3-git-send-email-iamjoonsoo.kim@lge.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    23f0d209
fair.c 160 KB