diff options
author | Leslie Monis <lesliemonis@gmail.com> | 2019-02-28 13:36:54 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-02-28 19:35:41 +0100 |
commit | 6c97da141528097eb8e1d532dc0dbe3501f4c8ff (patch) | |
tree | 10f032522179046ddde875c3a57963f8cd2581ca /net | |
parent | cxgb4vf: Enter debugging mode if FW is inaccessible (diff) | |
download | linux-6c97da141528097eb8e1d532dc0dbe3501f4c8ff.tar.xz linux-6c97da141528097eb8e1d532dc0dbe3501f4c8ff.zip |
net: sched: pie: avoid slow division in drop probability decay
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>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/sched/sch_pie.c | 3 |
1 files changed, 2 insertions, 1 deletions
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; |