net_sched: gen_estimator: extend pps limit
authorEric Dumazet <edumazet@google.com>
Thu, 2 Jul 2015 13:57:19 +0000 (15:57 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 8 Jul 2015 20:59:20 +0000 (13:59 -0700)
commit32f675bbc9be14a40d972820e190ac56341ce198
tree27edbc362bf93df02abbf7f685d94d94f0e93592
parentfda8b18c515a5e2caf821887ceafb42c35094eaf
net_sched: gen_estimator: extend pps limit

rate estimators are limited to 4 Mpps, which was fine years ago, but
too small with current hardware generation.

Lets use 2^5 scaling instead of 2^10 to get 128 Mpps new limit.

On 64bit arch, use an "unsigned long" for temp storage and remove limit.
(We do not expect 32bit arches to be able to reach this point)

Tested:

tc -s -d filter sh dev eth0 parent ffff:

filter protocol ip pref 1 u32
filter protocol ip pref 1 u32 fh 800: ht divisor 1
filter protocol ip pref 1 u32 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1:15
  match 07000000/ff000000 at 12
action order 1: gact action drop
 random type none pass val 0
 index 1 ref 1 bind 1 installed 166 sec
  Action statistics:
Sent 39734251496 bytes 863788076 pkt (dropped 863788117, overlimits 0 requeues 0)
rate 4067Mbit 11053596pps backlog 0b 0p requeues 0

Signed-off-by: Eric Dumazet <edumazet@google.com>
Acked-by: Alexei Starovoitov <ast@plumgrid.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/gen_estimator.c