net: sched: pie: fix 64-bit division
authorLeslie Monis <lesliemonis@gmail.com>
Wed, 27 Feb 2019 01:00:06 +0000 (06:30 +0530)
committerDavid S. Miller <davem@davemloft.net>
Wed, 27 Feb 2019 02:55:38 +0000 (18:55 -0800)
Use div_u64() to resolve build failures on 32-bit platforms.

Fixes: 3f7ae5f3dc52 ("net: sched: pie: add more cases to auto-tune alpha and beta")
Signed-off-by: Leslie Monis <lesliemonis@gmail.com>
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Tested-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/sch_pie.c

index 4c0670b6aec1b727927eaaa60993b63f3177f3b4..f93cfe034c72984a0d137cd796f00fbd43eda395 100644 (file)
@@ -429,7 +429,7 @@ static void calculate_probability(struct Qdisc *sch)
         */
 
        if (qdelay == 0 && qdelay_old == 0 && update_prob)
-               q->vars.prob = (q->vars.prob * 98) / 100;
+               q->vars.prob = 98 * div_u64(q->vars.prob, 100);
 
        q->vars.qdelay = qdelay;
        q->vars.qlen_old = qlen;