• Sergey Popovich's avatar
    sch: add missing u64 in psched_ratecfg_precompute() · ea872d77
    Sergey Popovich authored
    It seems that commit
    
    commit 292f1c7f
    Author: Jiri Pirko <jiri@resnulli.us>
    Date:   Tue Feb 12 00:12:03 2013 +0000
    
        sch: make htb_rate_cfg and functions around that generic
    
    adds little regression.
    
    Before:
    
    # tc qdisc add dev eth0 root handle 1: htb default ffff
    # tc class add dev eth0 classid 1:ffff htb rate 5Gbit
    # tc -s class show dev eth0
    class htb 1:ffff root prio 0 rate 5000Mbit ceil 5000Mbit burst 625b cburst
    625b
     Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
     rate 0bit 0pps backlog 0b 0p requeues 0
     lended: 0 borrowed: 0 giants: 0
     tokens: 31 ctokens: 31
    
    After:
    
    # tc qdisc add dev eth0 root handle 1: htb default ffff
    # tc class add dev eth0 classid 1:ffff htb rate 5Gbit
    # tc -s class show dev eth0
    class htb 1:ffff root prio 0 rate 1544Mbit ceil 1544Mbit burst 625b cburst
    625b
     Sent 5073 bytes 41 pkt (dropped 0, overlimits 0 requeues 0)
     rate 1976bit 2pps backlog 0b 0p requeues 0
     lended: 41 borrowed: 0 giants: 0
     tokens: 1802 ctokens: 1802
    
    This probably due to lost u64 cast of rate parameter in
    psched_ratecfg_precompute() (net/sched/sch_generic.c).
    Signed-off-by: default avatarSergey Popovich <popovich_sergei@mail.ru>
    Acked-by: default avatarEric Dumazet <edumazet@google.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    ea872d77
sch_generic.c 22.4 KB