aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/sched.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/kernel/sched.c b/kernel/sched.c
index 3209e2cc2c2e..992a1fae72a7 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -697,16 +697,17 @@ calc_delta_fair(unsigned long delta_exec, struct load_weight *lw)
697 return calc_delta_mine(delta_exec, NICE_0_LOAD, lw); 697 return calc_delta_mine(delta_exec, NICE_0_LOAD, lw);
698} 698}
699 699
700static void update_load_add(struct load_weight *lw, unsigned long inc) 700static inline void update_load_add(struct load_weight *lw, unsigned long inc)
701{ 701{
702 lw->weight += inc; 702 lw->weight += inc;
703 lw->inv_weight = 0; 703 lw->inv_weight = WMULT_CONST / lw->weight;
704} 704}
705 705
706static void update_load_sub(struct load_weight *lw, unsigned long dec) 706static inline void update_load_sub(struct load_weight *lw, unsigned long dec)
707{ 707{
708 lw->weight -= dec; 708 lw->weight -= dec;
709 lw->inv_weight = 0; 709 if (likely(lw->weight))
710 lw->inv_weight = WMULT_CONST / lw->weight;
710} 711}
711 712
712/* 713/*