From: Patrick McHardy <kaber@trash.net>
To: hadi@cyberus.ca
Cc: "Waskiewicz Jr, Peter P" <peter.p.waskiewicz.jr@intel.com>,
davem@davemloft.net, netdev@vger.kernel.org, jeff@garzik.org,
"Kok, Auke-jan H" <auke-jan.h.kok@intel.com>
Subject: Re: [PATCH] NET: Multiqueue network device support.
Date: Mon, 11 Jun 2007 16:49:41 +0200 [thread overview]
Message-ID: <466D6105.9050305@trash.net> (raw)
In-Reply-To: <1181572815.4077.13.camel@localhost>
jamal wrote:
> On Mon, 2007-11-06 at 16:03 +0200, Patrick McHardy wrote:
>
>>Read again what I wrote about the n > 2 case. Low priority queues might
>>starve high priority queues when using a single queue state for a
>>maximum of the time it takes to service n - 2 queues with max_qlen - 1
>>packets queued plus the time for a single packet. Thats assuming the
>>worst case of n - 2 queues with max_qlen - 1 packets and the lowest
>>priority queue full, so the queue is stopped until we can send at
>>least one lowest priority packet, which requires to fully service
>>all higher priority queues previously.
>
>
> I didnt quiet follow the above - I will try retrieving reading your
> other email to see if i can make sense of it.
Let me explain with some ASCII art :)
We have n empty HW queues with a maximum length of m packets per queue:
[0] empty
[1] empty
[2] empty
..
[n-1] empty
Now we receive m - 1 packets for each all priorities >= 1 and < n - 1,
so we have:
[0] empty
[1] m - 1 packets
[2] m - 1 packets
..
[n-2] m - 1 packets
[n] empty
Since no queue is completely full, the queue is still active.
Now we receive m packets of priorty n:
[0] empty
[1] m - 1 packets
[2] m - 1 packets
..
[n-2] m - 1 packets
[n-1] m packets
At this point the queue needs to be stopped since the highest
priority queue is entirely full. To start it again at least
one packet of queue n - 1 needs to be sent, which (assuming
strict priority) requires that queues 1 to n - 2 are serviced
first. So any prio 0 packets arriving during this period will
sit in the qdisc and will not reach the device for a possibly
quite long time. With multiple queue states we'd know that
queue 0 can still take packets.
>>Your basic assumption seems to be that the qdisc is still in charge
>>of when packets get sent. This isn't the case if there is another
>>scheduler after the qdisc and there is contention in the second
>>queue.
>
>
> My basic assumption is if you use the same scheduler in both the
> hardware and qdisc, configured the same same number of queues and
> mapped the same priorities then you dont need to make any changes
> to the qdisc code. If i have a series of routers through which a packet
> traveses to its destination with the same qos parameters i also achieve
> the same results.
Did my example above convince you that this is not the case?
next prev parent reply other threads:[~2007-06-11 14:52 UTC|newest]
Thread overview: 153+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-04 21:40 [RFC] NET: Multiple queue hardware support PJ Waskiewicz
2007-06-04 21:40 ` [PATCH] NET: Multiqueue network device support PJ Waskiewicz
2007-06-05 11:50 ` jamal
2007-06-05 15:51 ` Waskiewicz Jr, Peter P
2007-06-05 22:28 ` jamal
2007-06-06 15:11 ` Patrick McHardy
2007-06-06 22:13 ` jamal
2007-06-06 22:30 ` Waskiewicz Jr, Peter P
2007-06-06 22:40 ` David Miller
2007-06-06 23:35 ` jamal
2007-06-06 23:56 ` David Miller
2007-06-07 16:08 ` Stephen Hemminger
2007-06-07 16:59 ` Waskiewicz Jr, Peter P
2007-06-11 12:08 ` Patrick McHardy
2007-06-07 22:04 ` jamal
2007-06-09 14:58 ` Leonid Grossman
2007-06-09 19:23 ` jamal
2007-06-09 21:23 ` Leonid Grossman
2007-06-09 22:14 ` Jeff Garzik
2007-06-10 3:02 ` jamal
2007-06-10 15:27 ` Leonid Grossman
2007-06-06 22:35 ` David Miller
2007-06-06 22:57 ` Waskiewicz Jr, Peter P
2007-06-06 23:00 ` David Miller
2007-06-06 23:14 ` Waskiewicz Jr, Peter P
2007-06-06 23:36 ` Jeff Garzik
2007-06-06 23:32 ` jamal
2007-06-06 23:48 ` Rick Jones
2007-06-06 23:54 ` jamal
2007-06-07 0:01 ` David Miller
2007-06-06 23:58 ` David Miller
2007-06-06 23:52 ` David Miller
2007-06-07 0:47 ` Jeff Garzik
2007-06-07 12:29 ` jamal
2007-06-07 15:03 ` Kok, Auke
2007-06-07 21:57 ` jamal
2007-06-07 22:06 ` Kok, Auke
2007-06-07 22:26 ` jamal
2007-06-07 22:30 ` Kok, Auke
2007-06-07 22:57 ` jamal
2007-06-07 22:44 ` David Miller
2007-06-07 22:54 ` jamal
2007-06-07 23:00 ` David Miller
2007-06-07 23:03 ` jamal
2007-06-08 0:31 ` Sridhar Samudrala
2007-06-08 1:35 ` jamal
2007-06-08 10:39 ` Herbert Xu
2007-06-08 11:34 ` jamal
2007-06-08 12:37 ` Herbert Xu
2007-06-08 13:12 ` jamal
2007-06-09 11:08 ` Herbert Xu
2007-06-09 14:36 ` jamal
2007-06-08 5:32 ` Krishna Kumar2
2007-06-08 19:55 ` Waskiewicz Jr, Peter P
2007-06-09 0:24 ` jamal
2007-06-07 22:55 ` Waskiewicz Jr, Peter P
2007-06-09 1:05 ` Ramkrishna Vepa
2007-06-06 23:53 ` David Miller
2007-06-07 1:08 ` jamal
2007-06-07 12:22 ` jamal
2007-06-11 12:01 ` Patrick McHardy
2007-06-11 11:58 ` Patrick McHardy
2007-06-11 12:23 ` jamal
2007-06-11 12:39 ` Patrick McHardy
2007-06-11 12:52 ` jamal
2007-06-11 13:03 ` Patrick McHardy
2007-06-11 13:29 ` jamal
2007-06-11 14:03 ` Patrick McHardy
2007-06-11 14:30 ` Cohen, Guy
2007-06-11 14:38 ` Patrick McHardy
2007-06-11 14:48 ` jamal
2007-06-11 15:00 ` Tomas Winkler
2007-06-11 15:14 ` jamal
2007-06-11 15:34 ` Cohen, Guy
2007-06-11 22:22 ` jamal
2007-06-12 14:04 ` Cohen, Guy
2007-06-12 15:23 ` jamal
2007-06-12 23:38 ` jamal
2007-06-11 14:40 ` jamal
2007-06-11 14:49 ` Patrick McHardy [this message]
2007-06-11 15:05 ` jamal
2007-06-11 15:12 ` Patrick McHardy
2007-06-11 15:25 ` jamal
2007-06-11 15:44 ` Patrick McHardy
2007-06-11 21:35 ` jamal
2007-06-11 23:01 ` Patrick McHardy
2007-06-12 0:58 ` Patrick McHardy
2007-06-12 2:29 ` jamal
2007-06-12 13:21 ` Patrick McHardy
2007-06-12 15:12 ` jamal
2007-06-12 21:02 ` David Miller
2007-06-12 21:13 ` Jeff Garzik
2007-06-12 21:17 ` Ben Greear
2007-06-12 21:26 ` David Miller
2007-06-12 21:46 ` Jeff Garzik
2007-06-12 21:52 ` Roland Dreier
2007-06-12 21:59 ` Jeff Garzik
2007-06-12 22:04 ` David Miller
2007-06-12 22:18 ` Jeff Garzik
2007-06-12 22:00 ` David Miller
2007-06-12 21:53 ` David Miller
2007-06-12 22:01 ` Jeff Garzik
2007-06-12 21:46 ` Ben Greear
2007-06-12 21:54 ` David Miller
2007-06-12 22:30 ` Jeff Garzik
2007-06-12 22:40 ` Ben Greear
2007-06-12 21:47 ` Jason Lunz
2007-06-12 21:55 ` David Miller
2007-06-12 22:17 ` Jason Lunz
2007-06-13 3:41 ` Leonid Grossman
2007-06-13 16:44 ` Rick Jones
2007-06-12 21:17 ` Patrick McHardy
2007-06-13 5:56 ` Zhu Yi
2007-06-13 11:34 ` Patrick McHardy
2007-06-14 1:51 ` Zhu Yi
2007-06-13 12:32 ` jamal
2007-06-13 13:12 ` Robert Olsson
2007-06-13 13:33 ` jamal
2007-06-13 15:01 ` Leonid Grossman
2007-06-13 15:53 ` Robert Olsson
2007-06-13 18:20 ` David Miller
2007-06-13 18:22 ` Waskiewicz Jr, Peter P
2007-06-13 21:30 ` jamal
2007-06-14 2:44 ` Zhu Yi
2007-06-14 11:48 ` jamal
2007-06-15 1:27 ` Zhu Yi
2007-06-15 10:49 ` jamal
2007-06-18 1:18 ` Zhu Yi
2007-06-18 15:16 ` jamal
2007-06-19 2:12 ` Zhu Yi
2007-06-19 16:04 ` jamal
2007-06-20 5:51 ` Zhu Yi
2007-06-21 15:39 ` jamal
2007-06-22 1:26 ` Zhu Yi
2007-06-25 16:47 ` jamal
2007-06-25 20:47 ` David Miller
2007-06-26 13:27 ` jamal
2007-06-26 20:57 ` David Miller
2007-06-27 22:32 ` jamal
2007-06-27 22:54 ` David Miller
2007-06-28 0:15 ` jamal
2007-06-28 0:31 ` David Miller
2007-06-12 9:19 ` Johannes Berg
2007-06-12 12:17 ` jamal
2007-06-11 17:36 ` Patrick McHardy
2007-06-11 18:05 ` Waskiewicz Jr, Peter P
2007-06-11 18:07 ` Patrick McHardy
2007-06-13 18:34 ` Waskiewicz Jr, Peter P
2007-06-11 17:52 ` Patrick McHardy
2007-06-11 17:57 ` Waskiewicz Jr, Peter P
2007-06-11 18:05 ` Patrick McHardy
2007-06-11 18:15 ` Waskiewicz Jr, Peter P
2007-06-11 18:24 ` Patrick McHardy
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=466D6105.9050305@trash.net \
--to=kaber@trash.net \
--cc=auke-jan.h.kok@intel.com \
--cc=davem@davemloft.net \
--cc=hadi@cyberus.ca \
--cc=jeff@garzik.org \
--cc=netdev@vger.kernel.org \
--cc=peter.p.waskiewicz.jr@intel.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).