From: don-lartc@isis.cs3-inc.com (Don Cohen)
To: lartc@vger.kernel.org
Subject: [LARTC] More on qdiscs
Date: Sun, 05 May 2002 00:30:16 +0000 [thread overview]
Message-ID: <marc-lartc-102055905322865@msgid-missing> (raw)
I notice one other small problem with my modified version of SFQ.
The fact that packets can be dropped at dequeue time is incompatible
with the way HTB (and probably CBQ and others modeled on it) keep
statistics. When I fill a low rate queue causing packets to expire
and be dropped at dequeue I get interesting statistics like this:
This is my variant of SFQ
qdisc plfq 8016: dev eth1
...
Sent 17468 bytes 166 pkts (dropped 833, overlimits 0)
...
qdisc htb 1: dev eth1 r2q 10 default 2 dcache 0
deq_util 1/1000000 deq_rate 0 trials_per_deq 0
dcache_hits 0 direct_packets 0
Sent 32626 bytes 309 pkts (dropped 690, overlimits 1126)
backlog 143p
Note that plfq, which is inside of htb, thinks it has dropped more
packets than htb has. The reason is that htb considers a packet to be
"sent" when it's enqueued. I notice in retrospect that even with
current SFQ, the statistics are not correct. The reason is that it's
possible to successfully enqueue packet#1 (at which point HTB adds its
length to the number of bytes "sent)", then fail to enqueue packet#2.
But within SFQ this "failure" might really mean that packet#2 was
accepted to be sent later and it displaced packet#1. It happens that
this "replacement" keeps the packet count correct, but not the byte
count. One can imagine another version of SFQ that, instead of
limiting the number of packets in the queue, limits the number of
bytes. In that case the number of packets would not be correct
either.
I think that HTB (and other classful qdiscs) should count the
number of bytes and packets "sent" when they're dequeued, not when
they're enqueued. It's an interesting point that, at the moment, I
don't see any way for the classful qdisc to know how many packets and
bytes were dropped. However, I think it would be useful to know
instead how many were passed to enqueue. Then you'd get a report like
Enqueued 32626 bytes 309 pkts, Dequeued 17468 bytes 166 pkts
where the difference is the sum of what's been dropped and what's
still in the queue.
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
next reply other threads:[~2002-05-05 0:30 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-05-05 0:30 Don Cohen [this message]
2002-05-05 8:30 ` [LARTC] More on qdiscs Martin Devera
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=marc-lartc-102055905322865@msgid-missing \
--to=don-lartc@isis.cs3-inc.com \
--cc=lartc@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.