From: Patrick McHardy <kaber@trash.net>
To: Eric Dumazet <eric.dumazet@gmail.com>
Cc: David Miller <davem@davemloft.net>,
jarkao2@gmail.com, cl@linux-foundation.org,
netdev@vger.kernel.org
Subject: Re: [PATCH net-next-2.6] tc: report informations for multiqueue devices
Date: Wed, 02 Sep 2009 16:07:03 +0200 [thread overview]
Message-ID: <4A9E7C07.9000109@trash.net> (raw)
In-Reply-To: <4A9E7807.2080901@gmail.com>
Eric Dumazet wrote:
> Patrick McHardy a écrit :
>> Eric Dumazet wrote:
>>> [PATCH net-next-2.6] tc: report informations for multiqueue devices
>>>
>>> qdisc and classes are not yet displayed by "tc -s -d {qdisc|class} show"
>>> for multiqueue devices.
>>>
>>> We use a new TCA_QINDEX attribute, to report queue index to user space.
>>> iproute2 tc should be changed to eventually display this queue index as in :
>>>
>>> $ tc -s -d qdisc
>>> qdisc pfifo_fast 0: dev eth0 root bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
>>> Sent 52498 bytes 465 pkt (dropped 0, overlimits 0 requeues 0)
>>> rate 0bit 0pps backlog 0b 0p requeues 0
>>> qdisc pfifo_fast 0: dev eth0 qindex 1 root bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
>>> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
>>> rate 0bit 0pps backlog 0b 0p requeues 0
>> This might confuse existing userspace since the handle is not unique
>> anymore. libnl f.i. will treat all but the first root qdisc as an
>> update and use it to update the state of the first one. There's also
>> no combined view for applications unaware of multiqueue.
>>
>> Please have a look at the mail I just wrote for some possible ways
>> around this.
>
> Hum, how can we combine infos on qdisc/class if in the future we allow each queue index
> to have its own qdisc/classes ?
>
> htb on queue index 0
> cbq on queue index 1
My suggestion was to only dump the statistics in the combined
view and use a virtual qdisc, something like:
qdisc multiqueue 0: dev eth0 root queues 8
Sent ...
rate ...
and show each real qdisc as child of this qdisc:
qdisc pfifo_fast <unique handle> dev eth0 parent 0: bands 3 ...
qdisc pfifo_fast <unique handle> dev eth0 parent 0: bands 3 ...
Configuration would be symetrical to this:
tc qdisc add dev eth0 handle 0: root multiqueue
tc qdisc add dev eth0 handle x: parent 0: pfifo_fast
...
without the virtual multiqueue qdisc, the root qdisc would simply
be shared among all queues as today.
> Combining info would lock us and not allow for special configurations.
> Say
> macvlan device 0 mapped to queue index 0
> macvlan device 1 mapped to queue index 1...
Why not?
> For old apps, just give informations for queue 0 as we do now, and
> allow kernel to give more informations only if new application provided a TCA_INDEX attribute
> in its request ?
>
> (-1 : all queue indexes, >=0 for a given queue index)
If we don't combine the information, existing multiqueue unaware
applications will get incorrect information. There's also the
problem of non-unique handles, I think we should encode the queue
index in the handle instead of using a new attribute. This needs
a bit more thought though to avoid clashes with user-defined handles.
next prev parent reply other threads:[~2009-09-02 14:07 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-01 23:52 [NET] Add proc file to display the state of all qdiscs Christoph Lameter
2009-09-02 8:14 ` Jarek Poplawski
2009-09-02 8:28 ` Eric Dumazet
2009-09-02 8:30 ` David Miller
2009-09-02 12:30 ` [PATCH net-next-2.6] tc: report informations for multiqueue devices Eric Dumazet
2009-09-02 12:48 ` Eric Dumazet
2009-09-02 16:23 ` Stephen Hemminger
2009-09-02 16:30 ` Patrick McHardy
2009-09-02 16:50 ` Eric Dumazet
2009-09-02 17:17 ` [PATCH net-next-2.6] vlan: multiqueue vlan devices Eric Dumazet
2009-09-02 17:49 ` Patrick McHardy
2009-09-02 18:37 ` Brian Haley
2009-09-02 18:55 ` Eric Dumazet
2009-09-02 19:01 ` Stephen Hemminger
2009-09-02 19:12 ` Eric Dumazet
2009-09-03 1:04 ` David Miller
2009-09-03 1:05 ` Eric Dumazet
2009-09-03 9:17 ` Eric Dumazet
2009-09-03 9:20 ` David Miller
2009-09-02 17:31 ` [PATCH net-next-2.6] tc: report informations for multiqueue devices Eric Dumazet
2009-09-02 17:50 ` Patrick McHardy
2009-09-02 13:18 ` Patrick McHardy
2009-09-02 13:49 ` Eric Dumazet
2009-09-02 14:07 ` Patrick McHardy [this message]
2009-09-02 22:17 ` Jarek Poplawski
2009-09-02 9:18 ` [NET] Add proc file to display the state of all qdiscs Jarek Poplawski
2009-09-02 9:33 ` Jarek Poplawski
2009-09-02 9:37 ` Jarek Poplawski
2009-09-02 12:44 ` Patrick McHardy
2009-09-02 18:13 ` Christoph Lameter
2009-09-03 14:19 ` Jesper Dangaard Brouer
2009-09-03 14:29 ` Patrick McHardy
2009-09-03 14:43 ` Eric Dumazet
2009-09-03 17:30 ` Jesper Dangaard Brouer
2009-09-03 17:56 ` Patrick McHardy
2009-09-03 23:31 ` David Miller
2009-09-04 1:36 ` Patrick McHardy
2009-09-04 1:43 ` Patrick McHardy
2009-09-03 23:28 ` David Miller
2009-09-03 23:22 ` David Miller
2009-09-02 18:12 ` Christoph Lameter
2009-09-02 19:49 ` Jarek Poplawski
2009-09-02 21:27 ` Jarek Poplawski
2009-09-03 18:03 ` Christoph Lameter
2009-09-03 19:35 ` Jarek Poplawski
2009-09-03 19:38 ` Eric Dumazet
2009-09-03 19:54 ` Jarek Poplawski
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=4A9E7C07.9000109@trash.net \
--to=kaber@trash.net \
--cc=cl@linux-foundation.org \
--cc=davem@davemloft.net \
--cc=eric.dumazet@gmail.com \
--cc=jarkao2@gmail.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).