From 179ecd8c55ea7a07a677bc4223eaeb5b667a0d73 Mon Sep 17 00:00:00 2001 From: Andy Bavier Date: Thu, 24 Feb 2005 14:34:38 +0000 Subject: [PATCH] Fix share initialization problem [PL #4227] --- kernel/ckrm/ckrm_cpu_monitor.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/kernel/ckrm/ckrm_cpu_monitor.c b/kernel/ckrm/ckrm_cpu_monitor.c index d8c199a20..90ab2586c 100644 --- a/kernel/ckrm/ckrm_cpu_monitor.c +++ b/kernel/ckrm/ckrm_cpu_monitor.c @@ -838,8 +838,13 @@ static void adjust_lrq_weight(struct ckrm_cpu_class *clsptr, int cpu_online) total_pressure += lrq->lrq_load; } +#define FIX_SHARES +#ifdef FIX_SHARES +#warning "ACB: fix share initialization problem [PL #4227]" +#else if (! total_pressure) return; +#endif class_weight = cpu_class_weight(clsptr) * cpu_online; @@ -852,6 +857,10 @@ static void adjust_lrq_weight(struct ckrm_cpu_class *clsptr, int cpu_online) /*give idle class a high share to boost interactiveness */ lw = cpu_class_weight(clsptr); else { +#ifdef FIX_SHARES + if (! total_pressure) + return; +#endif lw = lrq->lrq_load * class_weight; do_div(lw,total_pressure); if (!lw) -- 2.43.0