netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Vladimir Kondratiev <vkondra@mail.ru>
To: netdev@oss.sgi.com, hadi@cyberus.ca
Cc: jt@hpl.hp.com
Subject: Re: in-driver QoS
Date: Wed, 9 Jun 2004 08:51:40 +0300	[thread overview]
Message-ID: <200406090851.40691.vkondra@mail.ru> (raw)
In-Reply-To: <1086728139.1023.71.camel@jzny.localdomain>

On Tuesday 08 June 2004 23:55, jamal wrote:
> On Tue, 2004-06-08 at 15:52, Jean Tourrilhes wrote:
> > On Tue, Jun 08, 2004 at 03:18:37PM -0400, jamal wrote:
> > > Prioritization is a subset of QoS. So if 802.11e talks prioritization,
> > > thats precisely what it means - QoS.
> >
> > 	Yes, it's one component of a QoS solution. But, my point is
> > that on it's own, it's not enough.
>
> There is no mapping or exclusivity of QoS to bandwidth reservation.
> The most basic QoS and most popular QoS mechanisms even on Linux is
> just prioritization and nothing to do with bandwidth allocation.
Correct. If you deal with bandwidth allocation, this is integrated service. 
Usually, diff serv used, which is just priority. BTW, in wireless QoS, 
bandwidth allocation present as well. Protocol is as follows: transmitter 
station should ask access point to establish new TSPEC (traffic 
specification), it get ID for this traffic, and then AP will poll station for 
this TSPEC, providing guranteed bandwidth, delay etc.
>
> > > The guy has some valid points in terms of multiple DMA rings if i
> > > understood him correctly. Theres current architectural deficiencies.
> >
> > 	I don't buy that. The multiple DMA ring is not the main thing
> > here, all DMA transfer share the same I/O bus to the card and share
> > the same memory pool, so there is no real performance gain there. The
> > I/O bnandwidth to the card is vastly superior to the medium bandwidth,
> > so the DMA process will never be a bottleneck.
>
> According to Vladimir the wireless piece of it is different.
> i.e each DMA ring will get different 802.11 channels
> with different backoff and contention window parameters.
> So nothing to do with the DMA process being a bottleneck.
>
> Help me understand this better:
> theres a wired side and a wireless side or are both send and receive
> interafacing to the air?
>
All on wireless.
> > The real benefit is that the contention on the medium is
> > prioritised (between contenting nodes). The contention process (CSMA,
> > backoff, and all the jazz) will give a preference to stations with
> > packet of the highest priority compared to stations wanting to send
> > packet of lower priorities. To gain advantage of that, you only need
> > to assign your packet the right priority at the driver level, and the
> > CSMA will send it appropriately.
>
> Yes, but how does the CSMA figure that? Is it not from the different
> DMA rings?
>
> > With respect to the 4 different hardware queue, you should see
> > them only as an extension of the netdev queues. Basically, you just
> > have a pipeline between the scheduler and the MAC which is almost a
> > FIFO, but not exactly a FIFO. Those queues may do packet reordering
> > between themselves, based on priorities. But at the end of the day
> > they are only going to send what the scheduler is feeding them, and
> > every packet the scheduler pass to those queues is eventually sent, so
> > they are totally slave to the scheduler.
>
> Is it a FIFO or there are several DMA rings involved? If the later:
> when do you stop the netdevice (i.e call netif_stop_queue())?
You hit the problem. Due to single queue, I can't provide separate back 
pressure for different access categories. What I do now, I do some internal 
buffering and netif_stop_queue() when total number of packets (or bytes) 
exceed some threshold. Of course, with watermarks to fight jitter.

Let's consider real example. Some application do FTP transfer, lots of data. 
Simultaneously, voice-over-IP connection invoked. Now question is: how to 
assure voice quality? Accordingly to TGe, voice is send either with high 
priority, or in TSPEC. If we will send all packets with high priority, we 
will hit ourselves. If we can't provide some back pressure for low priority 
traffic, it will block voice packets, since some moment you should 
netif_stop_queue().

Ideal would be if I can call netif_stop_queue(id), separately for each id.

I will send explanation for TGe in separate mail

  parent reply	other threads:[~2004-06-09  5:51 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-06-08 18:48 in-driver QoS Jean Tourrilhes
     [not found] ` <1086722317.1023.18.camel@jzny.localdomain>
2004-06-08 19:52   ` Jean Tourrilhes
2004-06-08 20:55     ` jamal
2004-06-08 22:01       ` Jean Tourrilhes
2004-06-09  3:46         ` jamal
2004-06-09 17:40           ` Jean Tourrilhes
2004-06-10  1:47             ` jamal
2004-06-09  5:51       ` Vladimir Kondratiev [this message]
2004-06-09 11:20         ` jamal
2004-06-09 18:27           ` Vladimir Kondratiev
2004-06-10  1:59             ` jamal
2004-06-10  5:55               ` Vladimir Kondratiev
2004-06-11 12:17                 ` jamal
2004-06-10  2:45             ` Horms
     [not found] ` <200406111619.40260.vkondra@mail.ru>
     [not found]   ` <1086960639.1068.697.camel@jzny.localdomain>
2004-06-14 20:53     ` Vladimir Kondratiev
2004-06-15 12:26       ` jamal
2004-06-15 16:35         ` Vladimir Kondratiev
  -- strict thread matches above, loose matches on Subject: below --
2004-06-06 18:28 Vladimir Kondratiev
2004-06-07 14:00 ` Andi Kleen
2004-06-07 20:35   ` Vladimir Kondratiev
2004-06-07 22:59     ` Andi Kleen
2004-06-07 23:38     ` jamal
2004-06-08  5:41       ` Vladimir Kondratiev
2004-06-08 11:28         ` jamal

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=200406090851.40691.vkondra@mail.ru \
    --to=vkondra@mail.ru \
    --cc=hadi@cyberus.ca \
    --cc=jt@hpl.hp.com \
    --cc=netdev@oss.sgi.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).