Message ID | 20190228123654.26330-1-lesliemonis@gmail.com |
---|---|
State | Accepted |
Delegated to: | David Miller |
Headers | show |
Series | [net-next] net: sched: pie: avoid slow division in drop probability decay | expand |
From: Leslie Monis <lesliemonis@gmail.com> Date: Thu, 28 Feb 2019 18:06:54 +0530 > As per RFC 8033, it is sufficient for the drop probability > decay factor to have a value of (1 - 1/64) instead of 98%. > This avoids the need to do slow division. > > Suggested-by: David Laight <David.Laight@aculab.com> > Signed-off-by: Leslie Monis <lesliemonis@gmail.com> Applied.
diff --git a/net/sched/sch_pie.c b/net/sched/sch_pie.c index f93cfe034c72..1cc0c7b74aa3 100644 --- a/net/sched/sch_pie.c +++ b/net/sched/sch_pie.c @@ -429,7 +429,8 @@ static void calculate_probability(struct Qdisc *sch) */ if (qdelay == 0 && qdelay_old == 0 && update_prob) - q->vars.prob = 98 * div_u64(q->vars.prob, 100); + /* Reduce drop probability to 98.4% */ + q->vars.prob -= q->vars.prob / 64u; q->vars.qdelay = qdelay; q->vars.qlen_old = qlen;
As per RFC 8033, it is sufficient for the drop probability decay factor to have a value of (1 - 1/64) instead of 98%. This avoids the need to do slow division. Suggested-by: David Laight <David.Laight@aculab.com> Signed-off-by: Leslie Monis <lesliemonis@gmail.com> --- net/sched/sch_pie.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)