All of lore.kernel.org
 help / color / mirror / Atom feed
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?


  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 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.