Bug#770493: tc: class statistics will always show a rate of 0
Package: src:linux
Version: 3.16.7-2
Severity: normal
Dear Maintainer,
the 3.16 series seems to have issues with displaying throughput rates
for at least HTB queues.
Given this simple egress HTTP shaping setup:
/sbin/tc qdisc add dev eth0 root handle 1: htb default 30
/sbin/tc class add dev eth0 parent 1: classid 1:1 htb rate 1000mbit burst 15k
/sbin/tc class add dev eth0 parent 1:1 classid 1:10 htb rate 250mbit burst 15k
/sbin/tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip sport 80 0xffff flowid 1:10
when trying to show statistics for the queues I get:
# tc -s class show dev eth0
class htb 1:10 parent 1:1 prio 0 rate 250Mbit ceil 250Mbit burst 15312b cburst 1562b
Sent 4772823221 bytes 3243231 pkt (dropped 0, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
lended: 1549924 borrowed: 0 giants: 0
tokens: 6286 ctokens: -589
class htb 1:1 root rate 1Gbit ceil 1Gbit burst 15125b cburst 1375b
Sent 4772823221 bytes 3243231 pkt (dropped 0, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
lended: 0 borrowed: 0 giants: 0
tokens: 1641 ctokens: -78
The rate and pps counters are always stuck at 0 despite ample amounts of traffic moving through that queue.
This has been verified with the current head (e4fc7e2625a29c99a77f03584da82e75f2930534) from iproute2 (http://git.kernel.org/cgit/linux/kernel/git/shemminger/iproute2.git/)
all the best,
Michael Renner
-- Package-specific info:
** Version:
Linux version 3.16.0-4-amd64 (debian-kernel@lists.debian.org) (gcc version 4.8.3 (Debian 4.8.3-13) ) #1 SMP Debian 3.16.7-2 (2014-11-06)
** Command line:
BOOT_IMAGE=/boot/vmlinuz-3.16.0-4-amd64 root=/dev/mapper/VGroot-LVroot ro elevator=deadline
** Tainted: I (2048)
* Working around severe firmware bug.
** Kernel log:
[ 4.375235] input: PC Speaker as /devices/platform/pcspkr/input/input3
[ 4.379116] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
[ 4.388029] usb 4-1: device descriptor read/8, error -71
[ 4.399473] [drm] Initialized drm 1.1.0 20060810
[ 4.454742] kvm: disabled by bios
[ 4.455394] iTCO_vendor_support: vendor-support=0
[ 4.463998] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.11
[ 4.464117] iTCO_wdt: Found a 631xESB/632xESB TCO device (Version=2, TCOBASE=0x1060)
[ 4.464319] iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
[ 4.506963] [drm] radeon kernel modesetting enabled.
[ 4.507378] [drm] initializing kernel modesetting (RV100 0x1002:0x515E 0x15D9:0xAC80).
[ 4.507478] [drm] register mmio base: 0xD8400000
[ 4.507545] [drm] register mmio size: 65536
[ 4.507703] radeon 0000:0d:01.0: VRAM: 128M 0x00000000D0000000 - 0x00000000D7FFFFFF (32M used)
[ 4.507792] radeon 0000:0d:01.0: GTT: 512M 0x00000000B0000000 - 0x00000000CFFFFFFF
[ 4.509492] [drm] Detected VRAM RAM=128M, BAR=128M
[ 4.509559] [drm] RAM width 16bits DDR
[ 4.509694] [TTM] Zone kernel: Available graphics memory: 4097328 kiB
[ 4.509765] [TTM] Zone dma32: Available graphics memory: 2097152 kiB
[ 4.509835] [TTM] Initializing pool allocator
[ 4.509906] [TTM] Initializing DMA pool allocator
[ 4.509994] [drm] radeon: 32M of VRAM memory ready
[ 4.510062] [drm] radeon: 512M of GTT memory ready.
[ 4.510144] [drm] GART: num cpu pages 131072, num gpu pages 131072
[ 4.526030] usb 4-1: device descriptor read/8, error -71
[ 4.531379] [drm] PCI GART of 512M enabled (table at 0x00000000CA500000).
[ 4.531467] radeon 0000:0d:01.0: WB disabled
[ 4.531536] radeon 0000:0d:01.0: fence driver on ring 0 use gpu addr 0x00000000b0000000 and cpu addr 0xffff880036a8b000
[ 4.531628] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 4.531698] [drm] Driver supports precise vblank timestamp query.
[ 4.531776] [drm] radeon: irq initialized.
[ 4.531850] [drm] Loading R100 Microcode
[ 4.532244] radeon 0000:0d:01.0: firmware: failed to load radeon/R100_cp.bin (-2)
[ 4.532332] radeon 0000:0d:01.0: Direct firmware load failed with error -2
[ 4.532404] radeon 0000:0d:01.0: Falling back to user helper
[ 4.542899] [drm:r100_cp_init] *ERROR* Failed to load firmware!
[ 4.542971] radeon 0000:0d:01.0: failed initializing CP (-12).
[ 4.543042] radeon 0000:0d:01.0: Disabling GPU acceleration
[ 4.543115] [drm] radeon: cp finalized
[ 4.543745] [drm] No TV DAC info found in BIOS
[ 4.543815] [drm] No valid Ext TMDS info found in BIOS
[ 4.543919] [drm] Radeon Display Connectors
[ 4.543986] [drm] Connector 0:
[ 4.544056] [drm] VGA-1
[ 4.544121] [drm] DDC: 0x60 0x60 0x60 0x60 0x60 0x60 0x60 0x60
[ 4.544190] [drm] Encoders:
[ 4.544256] [drm] CRT1: INTERNAL_DAC1
[ 4.544322] [drm] Connector 1:
[ 4.544386] [drm] DVI-I-1
[ 4.544450] [drm] HPD2
[ 4.544514] [drm] DDC: 0x6c 0x6c 0x6c 0x6c 0x6c 0x6c 0x6c 0x6c
[ 4.544583] [drm] Encoders:
[ 4.544647] [drm] CRT2: INTERNAL_DAC2
[ 4.544713] [drm] DFP2: INTERNAL_DVO1
[ 4.586333] [drm] fb mappable at 0xD0040000
[ 4.586405] [drm] vram apper at 0xD0000000
[ 4.586470] [drm] size 786432
[ 4.586534] [drm] fb depth is 8
[ 4.586598] [drm] pitch is 1024
[ 4.586726] fbcon: radeondrmfb (fb0) is primary device
[ 4.844012] usb 4-1: new full-speed USB device number 5 using uhci_hcd
[ 4.875027] usb 4-1: device descriptor read/8, error -71
[ 5.003026] usb 4-1: device descriptor read/8, error -71
[ 5.059570] Console: switching to colour frame buffer device 128x48
[ 5.067468] radeon 0000:0d:01.0: fb0: radeondrmfb frame buffer device
[ 5.067561] radeon 0000:0d:01.0: registered panic notifier
[ 5.100011] [drm] Initialized radeon 2.39.0 20080528 for 0000:0d:01.0 on minor 0
[ 5.104023] usb usb4-port1: unable to enumerate USB device
[ 5.636480] EXT4-fs (dm-0): re-mounted. Opts: (null)
[ 6.068752] EXT4-fs (dm-0): re-mounted. Opts: errors=remount-ro
[ 6.195956] loop: module loaded
[ 6.218075] ipmi message handler version 39.2
[ 6.228585] IPMI System Interface driver.
[ 6.228707] ipmi_si: probing via SMBIOS
[ 6.228768] ipmi_si: SMBIOS: io 0xca2 regsize 1 spacing 1 irq 0
[ 6.228856] ipmi_si: Adding SMBIOS-specified kcs state machine
[ 6.228949] ipmi_si: Trying SMBIOS-specified kcs state machine at i/o address 0xca2, slave address 0x20, irq 0
[ 6.356207] ipmi_si ipmi_si.0: Found new BMC (man_id: 0x0028c5, prod_id: 0x0004, dev_id: 0x22)
[ 6.360465] ipmi_si ipmi_si.0: IPMI kcs interface initialized
[ 6.380991] ipmi device interface
[ 6.547211] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
[ 6.756995] Adding 1048572k swap on /dev/mapper/VGroot-LVswap. Priority:-1 extents:1 across:1048572k FS
[ 7.480127] EXT4-fs (dm-1): mounted filesystem with ordered data mode. Opts: (null)
[ 8.026401] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 9.226852] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 10.230783] Netfilter messages via NETLINK v0.30.
[ 10.272486] igb 0000:0c:00.0 eth0: igb: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
[ 10.278715] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 10.397514] ctnetlink v0.93: registering with nfnetlink.
[ 10.533448] ip_set: protocol 6
[ 10.549974] ipt_CLUSTERIP: ClusterIP Version 0.8 loaded successfully
[ 10.895802] xt_time: kernel timezone is +0100
[ 10.910998] ipt_ULOG: ULOG is deprecated and it will be removed soon, use NFLOG instead
[ 11.288117] u32 classifier
[ 11.294202] Performance counters on
[ 11.300216] input device check on
[ 11.306136] Actions configured
[ 12.285072] nf_conntrack: automatic helper assignment is deprecated and it will be removed soon. Use the iptables CT target to attach helpers instead.
[ 111.328407] HTB: quantum of class 10001 is big. Consider r2q change.
[ 111.331535] HTB: quantum of class 10010 is big. Consider r2q change.
** Model information
sys_vendor: Supermicro
product_name: X7DWU
product_version: 0123456789
chassis_vendor: Supermicro
chassis_version: 0123456789
bios_vendor: Phoenix Technologies LTD
bios_version: 1.2
board_vendor: Supermicro
board_name: X7DWU
board_version: PCB Version
** Loaded modules:
act_police
cls_basic
cls_flow
cls_fw
cls_u32
sch_tbf
sch_prio
sch_htb
sch_hfsc
sch_ingress
sch_sfq
xt_statistic
xt_CT
xt_LOG
xt_time
xt_connlimit
xt_realm
xt_addrtype
iptable_raw
xt_comment
xt_recent
xt_policy
xt_nat
ipt_ULOG
ipt_REJECT
ipt_MASQUERADE
ipt_ECN
ipt_CLUSTERIP
ipt_ah
xt_set
ip_set
nf_nat_tftp
nf_nat_snmp_basic
nf_conntrack_snmp
nf_nat_sip
nf_nat_pptp
nf_nat_proto_gre
nf_nat_irc
nf_nat_h323
nf_nat_ftp
nf_nat_amanda
ts_kmp
nf_conntrack_amanda
nf_conntrack_sane
nf_conntrack_tftp
nf_conntrack_sip
nf_conntrack_proto_udplite
nf_conntrack_proto_sctp
nf_conntrack_pptp
nf_conntrack_proto_gre
nf_conntrack_netlink
nf_conntrack_netbios_ns
nf_conntrack_broadcast
nf_conntrack_irc
nf_conntrack_h323
nf_conntrack_ftp
xt_TPROXY
nf_defrag_ipv6
xt_tcpmss
xt_pkttype
xt_physdev
xt_owner
xt_NFQUEUE
xt_NFLOG
nfnetlink_log
xt_multiport
xt_mark
xt_mac
xt_limit
xt_length
xt_iprange
xt_helper
xt_hashlimit
xt_DSCP
xt_dscp
xt_dccp
xt_conntrack
xt_connmark
xt_CLASSIFY
xt_AUDIT
xt_tcpudp
xt_state
iptable_nat
nf_nat_ipv4
nf_nat
iptable_mangle
nfnetlink
iptable_filter
ip_tables
x_tables
nf_conntrack_ipv4
nf_defrag_ipv4
nf_conntrack
ipmi_devintf
ipmi_si
ipmi_msghandler
loop
radeon
coretemp
iTCO_wdt
iTCO_vendor_support
ttm
lpc_ich
mfd_core
drm_kms_helper
kvm
tpm_tis
processor
drm
parport_pc
tpm
thermal_sys
serio_raw
shpchp
evdev
pcspkr
i5400_edac
rng_core
button
edac_core
parport
ioatdma
i2c_i801
i5k_amb
ext4
crc16
mbcache
jbd2
crc32c_generic
btrfs
xor
raid6_pq
dm_mod
sd_mod
sg
crc_t10dif
crct10dif_common
floppy
ehci_pci
uhci_hcd
ehci_hcd
usbcore
usb_common
igb
i2c_algo_bit
i2c_core
dca
ptp
pps_core
arcmsr
scsi_mod
-- System Information:
Debian Release: 7.7
APT prefers stable
APT policy: (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.utf-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages linux-image-3.16.0-4-amd64 depends on:
ii debconf [debconf-2.0] 1.5.49
ii initramfs-tools [linux-initramfs-tool] 0.115~bpo70+1
ii kmod 9-3
ii linux-base 3.5
ii module-init-tools 9-3
Versions of packages linux-image-3.16.0-4-amd64 recommends:
ii firmware-linux-free 3.2
pn irqbalance <none>
Versions of packages linux-image-3.16.0-4-amd64 suggests:
pn debian-kernel-handbook <none>
ii grub-pc 1.99-27+deb7u2
pn linux-doc-3.16 <none>
Versions of packages linux-image-3.16.0-4-amd64 is related to:
pn firmware-atheros <none>
pn firmware-bnx2 <none>
pn firmware-bnx2x <none>
pn firmware-brcm80211 <none>
pn firmware-intelwimax <none>
pn firmware-ipw2x00 <none>
pn firmware-ivtv <none>
pn firmware-iwlwifi <none>
pn firmware-libertas <none>
pn firmware-linux <none>
pn firmware-linux-nonfree <none>
pn firmware-myricom <none>
pn firmware-netxen <none>
pn firmware-qlogic <none>
pn firmware-ralink <none>
pn firmware-realtek <none>
pn xen-hypervisor <none>
-- debconf information excluded
Reply to: