All of lore.kernel.org
 help / color / mirror / Atom feed
* Unexpected result with PFIFO or PRIO queue disciplines
@ 2014-09-11  9:19 Miguel Ángel Bernabé
  2014-09-15  9:18 ` Andy Furniss
  0 siblings, 1 reply; 2+ messages in thread
From: Miguel Ángel Bernabé @ 2014-09-11  9:19 UTC (permalink / raw)
  To: lartc

Using Ubuntu 12.10 (Linux version 3.5.0), i would like to do some basic 
QoS on an ethernet interface. This ethernet interface is the default 
route to the internet.

As i concern, the default Linux queue discipline configured for network 
devices is the `pfifo_fast` queue discipline that gives priority 
regarding TOS mark in the IP datagram header.

To test this queue discipline i am using `ping` with the option `-Q` to 
set the DSCP value of the packets.

$ ping -Q 184 www.google.com

I start with a round-trip time about 50ms but as soon i start to upload 
a file to Dropbox service via HTTP the ping time increases up from 50ms 
to 1500ms and it becomes very unstable. I have checked that TOS mark for 
Dropbox traffic is 0x0.

Then I am trying to accomplish the same task using `PRIO` queue 
discipline. To test this queue discipline i create the root PRIO queue 
discipline associated to the ethernet interface. Then i add a filter to 
send ICMP traffic to the most priority queue:

# tc qdisc add dev eth0 root handle 1: prio
# tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip 
protocol 1 0xff flowid 1:1

After configuring `PRIO` queue discipline i am failing with the same 
result, ping time increases much again as soon i upload a file to any 
hosting service.

I have checked tc statistics and i see that ICMP packets are already 
sent to the band 0 while dropbox traffic is queued in a less priority queue.

$ tc -s class show dev eth0
class prio 1:1 parent 1:
  Sent 7486 bytes 74 pkt (dropped 0, overlimits 0 requeues 0)
  backlog 0b 0p requeues 0
class prio 1:2 parent 1:
  Sent 863935 bytes 1956 pkt (dropped 0, overlimits 0 requeues 0)
  backlog 0b 0p requeues 0
class prio 1:3 parent 1:
  Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
  backlog 0b 0p requeues 0

My gateway is connected to the internet via ATM/DSL connection, upstream 
speed is 0.6Mbps and downstream speed is 10Mbps. If i configure the 
router as a bridge between LAN/ATM ports and I try to connect via PPPoE 
from LAN (so i configure the Qdisc for ppp0 interface) I get the same 
unexpected result, so the bottleneck is not in my router.

Are `prio` or `pfifo_fast` queue disciplines broken in the Linux kernel?.


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-09-15  9:18 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-11  9:19 Unexpected result with PFIFO or PRIO queue disciplines Miguel Ángel Bernabé
2014-09-15  9:18 ` Andy Furniss

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.