From: jamal <hadi@cyberus.ca>
To: David Miller <davem@davemloft.net>
Cc: 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: Fri, 22 Aug 2008 10:30:17 -0400 [thread overview]
Message-ID: <1219415417.4672.79.camel@localhost> (raw)
In-Reply-To: <20080822.031654.29257013.davem@davemloft.net>
On Fri, 2008-22-08 at 03:16 -0700, David Miller wrote:
> If it's just to tag traffic into different TX queues by priority,
> that's not very wise nor desirable. What's the point?
>
> The TX queues are useful for multiplexing traffic and seperating
> the locking and cpu overhead across execution entities in the
> system. They can also be useful for virtualization, but that's
> not relevant in this discussion.
>
> The TX queues, on the other hand, are not useful for exposing the
> round-robin or whatever algorithm that some cards just so happen to
> enforce fairness amongst the TX queues. That's an implementation
> detail.
>
> The truth is, the only reason the RR prio scheduler got added was
> because Jamal and myself didn't understand very well how to use these
> multiqueue cards, or at least I didn't understand it.
>
For the record, I was against the approach taken not the end goal. IIRC,
I was slapped around with a big fish at the time and so i got out of the
way. I still dont like it;->
There are two issues at stake:
1) egress Multiq support and the desire to have concurency based on
however many cpus and hardware queues exist on the system.
2) scheduling of the such hardware queues being executed by the hardware
(and not by software).
Daves goal: #1; run faster than Usain Bolt.
What we were solving at the time: #2. My view was to solve it with
minimal changes.
#1 and #2 are orthogonal. Yes, there is religion: Dave yours is #1.
Intels is #2; And there are a lot of people in intels camp because
they bill their customers based on qos of resources. The wire being one
such resource.
Example: if you were to use this stuff for virtualization and gave one
customer a cpu and a hardware queue, scheduling is still important. Some
customers pay less (not everyone is Steve Wozniak with his little posse
and can jump queues).
Therefore your statement that these schemes exist to "enforce fairness
amongst the TX queues" needs to be qualified mon ami;-> The end parts of
Animal Farm come to mind: Some animals have more rights than others;->
[Lets say we forget for a minute about multiegressq nics, we still have
other hardware devices (like hardware L2/L3 switch chips) that do both
multiq and funky prioritization that need to work in the same scheme]
Back to the subject:
I think if one was to use a "qdisc-pass-through" with the what you
have implemented, theres opportunity to let hardware do its scheduling
and meet the goals the intel folks. The filters above just select the
qdisc which is set in hardware.
cheers,
jamal
next prev parent reply other threads:[~2008-08-22 14:30 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 [this message]
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
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=1219415417.4672.79.camel@localhost \
--to=hadi@cyberus.ca \
--cc=alexander.h.duyck@intel.com \
--cc=davem@davemloft.net \
--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 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).