From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wi0-f175.google.com (mail-wi0-f175.google.com [209.85.212.175]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority" (verified OK)) by huchra.bufferbloat.net (Postfix) with ESMTPS id C2DD3200A28 for ; Tue, 3 Apr 2012 13:48:33 -0700 (PDT) Received: by wibhn6 with SMTP id hn6so3598634wib.10 for ; Tue, 03 Apr 2012 13:48:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=/ihzZlDRfHDYkrtWZCl6YliOFHd3r7RacTjSIS6VFsE=; b=lWJ3z0boA0eiPPO3FwQeNtCjTS10zRYou+frKCMN9pG+AYQxBsjkOuJriQsJVbiAqs uiC6Z+yLmps5gr+wV2ZQXJSgB2KjD389JDM3jqaeQ/tcpBxY+jooM5D0iUEVhIdvxc5E dyAdRoyxG9ehnYxF7vw6jM3YylcAWzEEY+644MIUs6acguCSbGsqf8Yc2bxxGywrDN7d lcIXkE5q9Dr/exgnMx1XSbxFgRNCHRjhmrQLQZdc05t5mrgCzExYpVzeKwAc5jnGPMCQ BQiEaVD+eXWvXdHVkTPvrNe3aF7nSo+vaJL4tJnocLwAjpRkk8WN05J2saZbUr7VQVuy rjmw== MIME-Version: 1.0 Received: by 10.180.94.33 with SMTP id cz1mr39992198wib.13.1333486111420; Tue, 03 Apr 2012 13:48:31 -0700 (PDT) Received: by 10.223.127.194 with HTTP; Tue, 3 Apr 2012 13:48:31 -0700 (PDT) Date: Tue, 3 Apr 2012 13:48:31 -0700 Message-ID: Subject: testing classification on wireless From: Dave Taht To: bloat-devel Content-Type: multipart/alternative; boundary=f46d044268e6fbf25c04bccc6d8f X-BeenThere: bloat-devel@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Developers working on AQM, device drivers, and networking stacks" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Apr 2012 20:48:34 -0000 --f46d044268e6fbf25c04bccc6d8f Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable The newest netperf from svn has the ability to set diffserv values both locally and remotely. This makes it really easy to exercise 802.11e queues, in either direction, in multiple ways, under various workloads. (hat off to rick jones for the work) This is also the very first time I've seen the ath9k driver statistics look sane to me (haven't checked in months tho) (hats off to many folk for that) ath9k stats: http://pastebin.com/2kfJkQ4n simple example of use m@cruithne:~/classes$ more classtest #!/bin/sh BK=3D"CS1" BE=3D"CS0" VI=3D"CS5" VO=3D"EF" netperf -l 60 -Y $BK,$BK -H 172.29.1.1 >> $BK.log & netperf -l 60 -Y $VI,$VI -H 172.29.1.1 >> $VI.log & netperf -l 60 -Y $BE,$BE -H 172.29.1.1 >> $BE.log & netperf -l 60 -Y $VO,$VO -H 172.29.1.1 >> $VO.log & m@cruithne:~/classes$ more CS0.log MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 172.29.1.1 () port 0 AF_INET Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 87380 65536 65536 60.04 34.68 m@cruithne:~/classes$ more CS1.log MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 172.29.1.1 () port 0 AF_INET Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 87380 65536 65536 60.07 2.62 m@cruithne:~/classes$ more CS5.log MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 172.29.1.1 () port 0 AF_INET Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 87380 65536 65536 60.01 16.90 m@cruithne:~/classes$ more EF.log MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 172.29.1.1 () port 0 AF_INET Recv Send Send Socket Socket Message Elapsed Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec 87380 65536 65536 60.02 16.30 (this was through sfqred on both sides, which could use some tuning for each queue, and I need to fiddle with tcp_rr, but I have a few other fish to fry this week) m@cruithne:~/classes$ tc -s qdisc show dev wlan0 qdisc mq 1: root Sent 5352889590 bytes 4677961 pkt (dropped 66, overlimits 1278 requeues 173) backlog 0b 0p requeues 173 qdisc sfq 10: parent 1:1 limit 200p quantum 3028b depth 24 headdrop divisor 16384 perturb 600sec ewma 3 min 4500b max 18000b probability 0.2 ecn prob_mark 0 prob_mark_head 6 prob_drop 0 forced_mark 0 forced_mark_head 13 forced_drop 0 Sent 175003610 bytes 190526 pkt (dropped 2, overlimits 19 requeues 4) rate 4528bit 1pps backlog 0b 0p requeues 4 qdisc sfq 20: parent 1:2 limit 200p quantum 3028b depth 24 headdrop divisor 16384 perturb 600sec ewma 3 min 4500b max 18000b probability 0.2 ecn prob_mark 0 prob_mark_head 173 prob_drop 0 forced_mark 0 forced_mark_head 54 forced_drop 0 Sent 1774758920 bytes 1176424 pkt (dropped 9, overlimits 227 requeues 68) rate 0bit 0pps backlog 0b 0p requeues 68 qdisc sfq 30: parent 1:3 limit 200p quantum 3028b depth 24 headdrop divisor 16384 perturb 600sec ewma 3 min 4500b max 18000b probability 0.2 ecn prob_mark 3 prob_mark_head 317 prob_drop 8 forced_mark 6 forced_mark_head 692 forced_drop 2 Sent 2521435696 bytes 2727177 pkt (dropped 55, overlimits 1028 requeues 55) rate 1280bit 1pps backlog 0b 0p requeues 55 qdisc sfq 40: parent 1:4 limit 200p quantum 3028b depth 24 headdrop divisor 16384 perturb 600sec ewma 3 min 4500b max 18000b probability 0.2 ecn prob_mark 0 prob_mark_head 4 prob_drop 0 forced_mark 0 forced_mark_head 0 forced_drop 0 Sent 881691364 bytes 583834 pkt (dropped 0, overlimits 4 requeues 46) rate 0bit 0pps backlog 0b 0p requeues 46 root@europa:~# tc -s qdisc show dev sw10 qdisc mq 1: root Sent 70630412 bytes 1003868 pkt (dropped 290, overlimits 0 requeues 3283) backlog 0b 0p requeues 3283 qdisc sfq 10: parent 1:1 limit 200p quantum 3028b depth 24 headdrop divisor 16384 perturb 600sec ewma 3 min 4500b max 18000b probability 0.2 ecn prob_mark 0 prob_mark_head 0 prob_drop 0 forced_mark 0 forced_mark_head 0 forced_drop 0 Sent 3126011 bytes 45972 pkt (dropped 0, overlimits 0 requeues 2749) rate 1200bit 1pps backlog 0b 0p requeues 2749 qdisc sfq 20: parent 1:2 limit 200p quantum 3028b depth 24 headdrop divisor 16384 perturb 600sec ewma 3 min 4500b max 18000b probability 0.2 ecn prob_mark 0 prob_mark_head 0 prob_drop 0 forced_mark 0 forced_mark_head 0 forced_drop 0 Sent 35166768 bytes 532192 pkt (dropped 86, overlimits 0 requeues 340) rate 0bit 0pps backlog 0b 0p requeues 340 qdisc sfq 30: parent 1:3 limit 200p quantum 3028b depth 24 headdrop divisor 16384 perturb 600sec ewma 3 min 4500b max 18000b probability 0.2 ecn prob_mark 0 prob_mark_head 0 prob_drop 0 forced_mark 0 forced_mark_head 0 forced_drop 0 Sent 13624933 bytes 142800 pkt (dropped 87, overlimits 0 requeues 106) rate 10736bit 5pps backlog 0b 0p requeues 106 qdisc sfq 40: parent 1:4 limit 200p quantum 3028b depth 24 headdrop divisor 16384 perturb 600sec ewma 3 min 4500b max 18000b probability 0.2 ecn prob_mark 0 prob_mark_head 0 prob_drop 0 forced_mark 0 forced_mark_head 0 forced_drop 0 Sent 18712700 bytes 282904 pkt (dropped 117, overlimits 0 requeues 88) rate 0bit 0pps backlog 0b 0p requeues 88 --=20 Dave T=E4ht SKYPE: davetaht US Tel: 1-239-829-5608 http://www.bufferbloat.net --f46d044268e6fbf25c04bccc6d8f Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable The newest netperf from svn has the ability to set diffserv values both loc= ally and remotely. This makes it really easy to exercise 802.11e queues, in= either direction, in multiple ways, under various workloads. (hat off to r= ick jones for the work)

This is also the very first time I've seen the ath9k driver statist= ics look sane to me (haven't checked in months tho)
(hats off to man= y folk for that)

ath9k stats: http://pastebin.com/2kfJkQ4n

simple example of use

m@cruithne:~/classes$ more classtest
#= !/bin/sh

BK=3D"CS1"
BE=3D"CS0"
VI=3D"= CS5"
VO=3D"EF"
netperf -l 60 -Y $BK,$BK -H 172.29.1.1 = >> $BK.log &
netperf -l 60 -Y $VI,$VI -H 172.29.1.1 >> $VI.log &
netperf -l= 60 -Y $BE,$BE -H 172.29.1.1 >> $BE.log &
netperf -l 60 -Y $VO= ,$VO -H 172.29.1.1 >> $VO.log &


m@cruithne:~/classes$ = more CS0.log
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 172.29.1.= 1 () port 0 AF_INET
Recv=A0=A0 Send=A0=A0=A0 Send=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0
Socket Socket=A0= Message=A0 Elapsed=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0
Size=A0=A0 S= ize=A0=A0=A0 Size=A0=A0=A0=A0 Time=A0=A0=A0=A0 Throughput=A0
bytes=A0 bytes=A0=A0 bytes=A0=A0=A0 secs.=A0=A0=A0 10^6bits/sec=A0

= =A087380=A0 65536=A0 65536=A0=A0=A0 60.04=A0=A0=A0=A0=A0 34.68=A0=A0
m@cruithne:~/classes$ more CS1.log
MIGRATED TCP STREAM TEST from 0.0.= 0.0 (0.0.0.0) port 0 AF_INET to 172.29.1.1 () port 0 AF_INET
Recv=A0=A0 Send=A0=A0=A0 Send=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0
Socket Socket=A0 Message=A0 Elapsed=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0
Size=A0=A0 Size=A0=A0=A0 Size=A0= =A0=A0=A0 Time=A0=A0=A0=A0 Throughput=A0
bytes=A0 bytes=A0=A0 bytes=A0= =A0=A0 secs.=A0=A0=A0 10^6bits/sec=A0

=A087380=A0 65536=A0 65536=A0= =A0=A0 60.07=A0=A0=A0=A0=A0=A0 2.62=A0=A0

m@cruithne:~/classes$ more CS5.log
MIGRATED TCP STREAM TEST from 0.= 0.0.0 (0.0.0.0) port 0 AF_INET to 172.29.1.1 () port 0 AF_INET
Recv=A0= =A0 Send=A0=A0=A0 Send=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0
Socket Socket=A0 Message=A0 Elapsed=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0
Size=A0=A0 Size=A0=A0=A0 Size=A0=A0=A0=A0 Time=A0=A0=A0=A0 Throughput=A0 bytes=A0 bytes=A0=A0 bytes=A0=A0=A0 secs.=A0=A0=A0 10^6bits/sec=A0
=A087380=A0 65536=A0 65536=A0=A0=A0 60.01=A0=A0=A0=A0=A0 16.90=A0=A0
=
m@cruithne:~/classes$ more EF.log
MIGRATED TCP STREAM TEST from 0.0= .0.0 (0.0.0.0) port 0 AF_INET to 172.29.1.1 () port 0 AF_INET
Recv=A0=A0 Send=A0=A0=A0 Send=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0
Socket Socket=A0 Message=A0 Elapsed=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0
Size=A0=A0 Size=A0=A0=A0 Size=A0= =A0=A0=A0 Time=A0=A0=A0=A0 Throughput=A0
bytes=A0 bytes=A0=A0 bytes=A0= =A0=A0 secs.=A0=A0=A0 10^6bits/sec=A0

=A087380=A0 65536=A0 65536=A0= =A0=A0 60.02=A0=A0=A0=A0=A0 16.30=A0=A0

(this was through sfqred on both sides, which could use some tuning for= each queue, and I need to fiddle with tcp_rr, but I have a few other fish = to fry this week)

m@cruithne:~/classes$ tc -s qdisc show dev wlan0 qdisc mq 1: root
=A0Sent 5352889590 bytes 4677961 pkt (dropped 66, over= limits 1278 requeues 173)
=A0backlog 0b 0p requeues 173

qdisc s= fq 10: parent 1:1 limit 200p quantum 3028b depth 24 headdrop divisor 16384 = perturb 600sec
=A0ewma 3 min 4500b max 18000b probability 0.2 ecn
=A0prob_mark 0 prob_= mark_head 6 prob_drop 0
=A0forced_mark 0 forced_mark_head 13 forced_drop= 0
=A0Sent 175003610 bytes 190526 pkt (dropped 2, overlimits 19 requeues= 4)
=A0rate 4528bit 1pps backlog 0b 0p requeues 4

qdisc sfq 20: parent = 1:2 limit 200p quantum 3028b depth 24 headdrop divisor 16384 perturb 600sec=
=A0ewma 3 min 4500b max 18000b probability 0.2 ecn
=A0prob_mark 0 = prob_mark_head 173 prob_drop 0
=A0forced_mark 0 forced_mark_head 54 forced_drop 0
=A0Sent 1774758920 by= tes 1176424 pkt (dropped 9, overlimits 227 requeues 68)
=A0rate 0bit 0p= ps backlog 0b 0p requeues 68

qdisc sfq 30: parent 1:3 limit 200p qu= antum 3028b depth 24 headdrop divisor 16384 perturb 600sec
=A0ewma 3 min 4500b max 18000b probability 0.2 ecn
=A0prob_mark 3 prob_= mark_head 317 prob_drop 8
=A0forced_mark 6 forced_mark_head 692 forced_d= rop 2
=A0Sent 2521435696 bytes 2727177 pkt (dropped 55, overlimits 1028 = requeues 55)
=A0rate 1280bit 1pps backlog 0b 0p requeues 55

qdisc sfq 40: parent= 1:4 limit 200p quantum 3028b depth 24 headdrop divisor 16384 perturb 600se= c
=A0ewma 3 min 4500b max 18000b probability 0.2 ecn
=A0prob_mark 0= prob_mark_head 4 prob_drop 0
=A0forced_mark 0 forced_mark_head 0 forced_drop 0
=A0Sent 881691364 byte= s 583834 pkt (dropped 0, overlimits 4 requeues 46)
=A0rate 0bit 0pps ba= cklog 0b 0p requeues 46


root@europa:~# tc -s qdisc show dev sw1= 0

qdisc mq 1: root
=A0Sent 70630412 bytes 1003868 pkt (dropped 290, o= verlimits 0 requeues 3283)
=A0backlog 0b 0p requeues 3283

qdisc= sfq 10: parent 1:1 limit 200p quantum 3028b depth 24 headdrop divisor 1638= 4 perturb 600sec
=A0ewma 3 min 4500b max 18000b probability 0.2 ecn
=A0prob_mark 0 prob_= mark_head 0 prob_drop 0
=A0forced_mark 0 forced_mark_head 0 forced_drop = 0
=A0Sent 3126011 bytes 45972 pkt (dropped 0, overlimits 0 requeues 2749= )
=A0rate 1200bit 1pps backlog 0b 0p requeues 2749

qdisc sfq 20: pare= nt 1:2 limit 200p quantum 3028b depth 24 headdrop divisor 16384 perturb 600= sec
=A0ewma 3 min 4500b max 18000b probability 0.2 ecn
=A0prob_mark= 0 prob_mark_head 0 prob_drop 0
=A0forced_mark 0 forced_mark_head 0 forced_drop 0
=A0Sent 35166768 bytes= 532192 pkt (dropped 86, overlimits 0 requeues 340)
=A0rate 0bit 0pps b= acklog 0b 0p requeues 340

qdisc sfq 30: parent 1:3 limit 200p quant= um 3028b depth 24 headdrop divisor 16384 perturb 600sec
=A0ewma 3 min 4500b max 18000b probability 0.2 ecn
=A0prob_mark 0 prob_= mark_head 0 prob_drop 0
=A0forced_mark 0 forced_mark_head 0 forced_drop = 0
=A0Sent 13624933 bytes 142800 pkt (dropped 87, overlimits 0 requeues 1= 06)
=A0rate 10736bit 5pps backlog 0b 0p requeues 106

qdisc sfq 40: pare= nt 1:4 limit 200p quantum 3028b depth 24 headdrop divisor 16384 perturb 600= sec
=A0ewma 3 min 4500b max 18000b probability 0.2 ecn
=A0prob_mark= 0 prob_mark_head 0 prob_drop 0
=A0forced_mark 0 forced_mark_head 0 forced_drop 0
=A0Sent 18712700 bytes= 282904 pkt (dropped 117, overlimits 0 requeues 88)
=A0rate 0bit 0pps b= acklog 0b 0p requeues 88


--
Dave T=E4ht
SKYPE: davetaht<= br>US Tel: 1-239-829-5608
http://www.bufferb= loat.net
--f46d044268e6fbf25c04bccc6d8f--