On 06/08/2018 02:09 PM, Vincent Guittot wrote:

[...]

@@ -182,21 +183,30 @@ static void sugov_get_util(struct sugov_cpu *sg_cpu)
        sg_cpu->util_dl  = cpu_util_dl(rq);
        sg_cpu->bw_dl    = cpu_bw_dl(rq);
        sg_cpu->util_rt  = cpu_util_rt(rq);
+       sg_cpu->util_irq = cpu_util_irq(rq);
  }
static unsigned long sugov_aggregate_util(struct sugov_cpu *sg_cpu)
  {
        struct rq *rq = cpu_rq(sg_cpu->cpu);
-       unsigned long util;
+       unsigned long util, max = sg_cpu->max;
if (rq->rt.rt_nr_running)
                return sg_cpu->max;
+ if (unlikely(sg_cpu->util_irq >= max))
+               return max;
+
+       /* Sum rq utilization */
        util = sg_cpu->util_cfs;
        util += sg_cpu->util_rt;
- if ((util + sg_cpu->util_dl) >= sg_cpu->max)
-               return sg_cpu->max;
:confirm b9

This didn't let me apply the patch ;-) After removing this line it worked.

[...]

Reply via email to