From: Jarek Poplawski <jarkao2@gmail.com>
To: Alexander Duyck <alexander.duyck@gmail.com>
Cc: hadi@cyberus.ca, David Miller <davem@davemloft.net>,
jeffrey.t.kirsher@intel.com, jeff@garzik.org,
netdev@vger.kernel.org, alexander.h.duyck@intel.com
Subject: Re: [PATCH 3/3] pkt_sched: restore multiqueue prio scheduler
Date: Sun, 24 Aug 2008 09:53:31 +0200 [thread overview]
Message-ID: <20080824075331.GA2721@ami.dom.local> (raw)
In-Reply-To: <5f2db9d90808231209i134a7afbu233269c8ea592422@mail.gmail.com>
On Sat, Aug 23, 2008 at 12:09:42PM -0700, Alexander Duyck wrote:
> On Sat, Aug 23, 2008 at 9:49 AM, jamal <hadi@cyberus.ca> wrote:
> > On Sat, 2008-23-08 at 09:31 -0700, Alexander Duyck wrote:
> >
> >> Actually in this new multiple tx queue kernel this qdisc could serve a
> >> very specific but needed purpose which just became apparent to me.
> >> This qdisc resolves one very specific issue, head-of-line blocking if
> >> one of the hardware queues is full. What if I reversed things a bit
> >> in prio_classify so that skb->queue_mapping determined the band
> >> instead of the other way around in the case of the multiqueue option
> >> being enabled? I would think that in this configuration the qdisc
> >> would prove to be pretty useful for purposes other than QOS since it
> >> would allow a classful qdisc per transmit queue instead of per device.
I'm not sure if I don't miss your point, but if you decided you can do
this with a new action there is probably no reason to change or revert
anything in prio_classify - you pass the band/class number as a result.
...
> >> I could then create a select_queue for the device that returns 0 when
> >> in DCB/EEDC mode for our drivers, implement the tc action to set the
> >> queue mapping, and have essentially the same result as I had before.
> >>
> > put overflow queues in your driver. With the new multiq approach the
> > controls are per-queue not per driver.
> >
>
> I think you missed the email from Dave earlier, either that or I am
> not understanding something and if I am feel free to explain. My
> understanding is that when we assign a new qdisc via tc the
> qdisc/transmit queues end up with a configuration kind of like what
> Dave has on slide 7 at
> (http://vger.kernel.org/~davem/davem_seattle08.pdf). Adding more
> queues doesn't resolve anything since I am still going through the
> same qdisc regardless of how many queues I have. The changes to the
> dequeue portion of this qdisc are the most important part for this
> change since I need them to keep the qdisc from jamming up in a
> dequeue/requeue loop if the packet at the head of the qdisc needs to
> go to a stopped hardware transmit queue.
I guess, Jamal meant additional, backup queues, and you're thinking
about remapping to the basic, working queues. There is a question
if it's not enough to check and do this during classification, then
changes to prio's ->dequeue() would be also unnecessary. On the other
hand, if you proved in some tests it's worth to do in dequeue, I think
David is a reasonable guy and should let for such improvements. BTW,
if this jamming with requeuing is really a problem, probably it should
be also considered in the generic code like simple_tx_hash() by using
some mask.
Thanks,
Jarek P.
next prev parent reply other threads:[~2008-08-24 7:52 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-22 0:51 [PATCH 1/3] LRO: fix return code propogation Jeff Kirsher
2008-08-22 0:51 ` [PATCH 2/3] netlink: nal_parse_nested_compat was not parsing nested attributes Jeff Kirsher
2008-08-22 10:18 ` David Miller
2008-08-22 17:40 ` [PATCH 2/3] netlink: nla_parse_nested_compat " Duyck, Alexander H
2008-08-27 14:52 ` Thomas Graf
2008-08-27 18:09 ` Duyck, Alexander H
2008-08-22 0:51 ` [PATCH 3/3] pkt_sched: restore multiqueue prio scheduler Jeff Kirsher
2008-08-22 10:16 ` David Miller
2008-08-22 14:30 ` jamal
2008-08-22 22:19 ` Jarek Poplawski
2008-08-23 0:01 ` Alexander Duyck
2008-08-23 0:40 ` David Miller
2008-08-23 1:37 ` Alexander Duyck
2008-08-23 5:12 ` Herbert Xu
2008-08-23 6:35 ` Alexander Duyck
2008-08-23 7:07 ` Herbert Xu
2008-08-23 8:23 ` David Miller
2008-08-23 8:15 ` David Miller
2008-08-23 0:33 ` David Miller
2008-08-23 8:47 ` Jarek Poplawski
2008-08-23 16:31 ` Alexander Duyck
2008-08-23 16:49 ` jamal
2008-08-23 19:09 ` Alexander Duyck
2008-08-24 7:53 ` Jarek Poplawski [this message]
2008-08-24 13:39 ` jamal
2008-08-24 19:19 ` Jarek Poplawski
2008-08-24 19:27 ` Jarek Poplawski
2008-08-24 19:59 ` Jarek Poplawski
2008-08-24 20:18 ` Jarek Poplawski
2008-08-25 0:50 ` David Miller
2008-08-25 3:03 ` Alexander Duyck
2008-08-25 6:16 ` Jarek Poplawski
2008-08-25 9:36 ` Jarek Poplawski
2008-08-25 0:49 ` David Miller
2008-08-25 6:06 ` Jarek Poplawski
2008-08-25 7:48 ` David Miller
2008-08-25 7:57 ` Jarek Poplawski
2008-08-25 8:02 ` David Miller
2008-08-25 8:25 ` Jarek Poplawski
2008-08-25 8:35 ` Jarek Poplawski
2008-08-22 10:20 ` [PATCH 1/3] LRO: fix return code propogation David Miller
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=20080824075331.GA2721@ami.dom.local \
--to=jarkao2@gmail.com \
--cc=alexander.duyck@gmail.com \
--cc=alexander.h.duyck@intel.com \
--cc=davem@davemloft.net \
--cc=hadi@cyberus.ca \
--cc=jeff@garzik.org \
--cc=jeffrey.t.kirsher@intel.com \
--cc=netdev@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.