netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Zhu Yi <yi.zhu@intel.com>
To: Johannes Berg <johannes@sipsolutions.net>, jamal <hadi@cyberus.ca>
Cc: "Waskiewicz Jr, Peter P" <peter.p.waskiewicz.jr@intel.com>,
	Stephen Hemminger <shemminger@linux-foundation.org>,
	hadi@cyberus.ca, Patrick McHardy <kaber@trash.net>,
	netdev@vger.kernel.org, jgarzik@pobox.com,
	cramerj <cramerj@intel.com>,
	"Kok, Auke-jan H" <auke-jan.h.kok@intel.com>,
	"Leech, Christopher" <christopher.leech@intel.com>,
	davem@davemloft.net
Subject: RE: [PATCH] IPROUTE: Modify tc for new PRIO multiqueue behavior
Date: Tue, 08 May 2007 17:33:56 +0800	[thread overview]
Message-ID: <1178616837.3385.85.camel@debian.sh.intel.com> (raw)
In-Reply-To: <1178313748.7408.41.camel@johannes.berg>

On Fri, 2007-05-04 at 23:22 +0200, Johannes Berg wrote:
> On Fri, 2007-05-04 at 13:43 -0700, Waskiewicz Jr, Peter P wrote:
> > If hardware exists that wants the granularity to
> > start/stop queues independent of each other and continue to have
> > traffic
> > flow, I really think it should be able to do that. 
> 
> Not much of an if there, I'm pretty sure at least some wireless hardware
> can do that. We've been watching this multiqueue stuff for a while now
> with some interest but haven't hashed out yet how we could use it.

Right.

Jamal, as you said, the wireless subsystem uses an interim workaround
(the extra netdev approach) to achieve hardware packets scheduling. But
with Peter's patch, the wireless stack doesn't need the workaround
anymore. This is the actual fix.


On Wed, 02 May 2007 08:43:49 -0400, jamal wrote:

> You feel the need to keep all the rings busy even when one is
> shutdown; I claim by having a synced up qdisc of the same scheduler 
> type you dont need to worry about that. Both approaches are correct;
> what iam proposing is many factors simpler.

Let me explain why this is not true for wireless. The wireless priority
happens in the MAC level. That is, packets priority not only compete
each other in the host, they also compete in the network. For example,
once the wireless medium becomes idle from busy, the higher priority
packet seizes the channel after waiting for a shorter time period (which
makes the channel unavailable again). Both the high and low priority
packets have to be queued in the hardware queues before they are sent
out so that the hardware knows how to kick off its timers when it
detects the medium is idle. If the Qdisc stops feeding all packets just
because the hardware low prio queue is full (as it cannot seize the
channel in the network), it is unfair to the local high prio packets.
The host is too "nice(2)" to NOT let local high prio packets complete
with the ones in the other hosts. BTW, you cannot write a smiliar
scheduler in the Qdisc since it requires hard real time in microsecond
level.

After a second thought, this is not wireless specific. It can be
generalized as hardware level packet scheduling. I think kernel needs
such kind of support. And Peter's patch address this well.

Thanks,
-yi


  reply	other threads:[~2007-05-08  9:33 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-25  1:39 [PATCH] IPROUTE: Modify tc for new PRIO multiqueue behavior Peter P Waskiewicz Jr
2007-04-25  4:05 ` Stephen Hemminger
2007-04-25 11:36   ` jamal
2007-04-25 17:45     ` Waskiewicz Jr, Peter P
2007-04-26 13:27       ` jamal
2007-04-26 15:57         ` Patrick McHardy
2007-04-26 16:30           ` Waskiewicz Jr, Peter P
2007-04-26 16:44             ` Patrick McHardy
2007-04-26 16:50               ` Waskiewicz Jr, Peter P
2007-04-27 15:09             ` jamal
2007-04-27 15:45               ` Waskiewicz Jr, Peter P
2007-04-30 12:56                 ` jamal
2007-05-01 18:27                   ` Waskiewicz Jr, Peter P
2007-05-01 22:11                     ` jamal
2007-05-01 23:04                       ` Waskiewicz Jr, Peter P
2007-05-02 12:43                         ` jamal
2007-05-03 21:03                           ` Waskiewicz Jr, Peter P
2007-05-03 23:54                             ` jamal
2007-05-04 15:48                               ` Waskiewicz Jr, Peter P
2007-05-04 20:01                             ` Stephen Hemminger
2007-05-04 20:06                               ` David Miller
2007-05-04 20:43                               ` Waskiewicz Jr, Peter P
2007-05-04 21:00                                 ` David Miller
2007-05-04 21:22                                 ` Johannes Berg
2007-05-08  9:33                                   ` Zhu Yi [this message]
2007-05-08  9:45                                     ` Johannes Berg
2007-05-08 13:28                                       ` jamal
2007-05-08 15:35                                         ` Waskiewicz Jr, Peter P
2007-05-08 23:28                                           ` jamal
2007-05-10  3:02                                             ` Zhu Yi
2007-05-10 12:35                                               ` jamal
2007-05-11  1:58                                                 ` Zhu Yi
2007-05-11  2:23                                                   ` jamal
2007-05-10 18:22                                             ` Waskiewicz Jr, Peter P
2007-05-10 20:00                                               ` jamal
2007-05-09 14:16                                         ` Johannes Berg
2007-04-27 14:58           ` jamal
2007-04-27 15:43             ` Jeff Garzik
2007-04-27 15:46               ` Waskiewicz Jr, Peter P
2007-04-26 18:49       ` Jan Engelhardt

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=1178616837.3385.85.camel@debian.sh.intel.com \
    --to=yi.zhu@intel.com \
    --cc=auke-jan.h.kok@intel.com \
    --cc=christopher.leech@intel.com \
    --cc=cramerj@intel.com \
    --cc=davem@davemloft.net \
    --cc=hadi@cyberus.ca \
    --cc=jgarzik@pobox.com \
    --cc=johannes@sipsolutions.net \
    --cc=kaber@trash.net \
    --cc=netdev@vger.kernel.org \
    --cc=peter.p.waskiewicz.jr@intel.com \
    --cc=shemminger@linux-foundation.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 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).