From: Jarek Poplawski <jarkao2@gmail.com>
To: Eric Dumazet <eric.dumazet@gmail.com>
Cc: "David S. Miller" <davem@davemloft.net>,
Patrick McHardy <kaber@trash.net>,
Linux Netdev List <netdev@vger.kernel.org>
Subject: Re: [RFC] multiqueue changes
Date: Thu, 8 Oct 2009 09:03:44 +0000 [thread overview]
Message-ID: <20091008090344.GA7409@ff.dom.local> (raw)
In-Reply-To: <4ACD9255.4020008@gmail.com>
On Thu, Oct 08, 2009 at 09:18:45AM +0200, Eric Dumazet wrote:
> Say I have such non multiqueue device :
>
> 03:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708S Gigabit Ethernet (rev 12)
>
> Driver bnx2
>
> This drivers does an alloc_etherdev_mq(sizeof(*bp), TX_MAX_RINGS),
> regardless of real capabilities of the NIC.
>
> Then, a bit later it does :
>
> bp->dev->real_num_tx_queues = bp->num_tx_rings;
>
> (one in my non multiqueue case)
>
> Now I have :
>
> # tc -s -d qdisc show dev eth0
> qdisc mq 0: root
> Sent 117693091 bytes 1542188 pkt (dropped 0, overlimits 0 requeues 0)
> backlog 0b 0p requeues 0
> # tc -s -d class show dev eth0
> class mq :1 root
> Sent 113935509 bytes 1492598 pkt (dropped 0, overlimits 0 requeues 0)
> backlog 0b 0p requeues 0
> class mq :2 root
> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
> backlog 0b 0p requeues 0
> class mq :3 root
> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
> backlog 0b 0p requeues 0
> class mq :4 root
> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
> backlog 0b 0p requeues 0
> class mq :5 root
> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
> backlog 0b 0p requeues 0
> class mq :6 root
> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
> backlog 0b 0p requeues 0
> class mq :7 root
> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
> backlog 0b 0p requeues 0
> class mq :8 root
> Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
> backlog 0b 0p requeues 0
>
> While in previous kernels I had :
>
> # tc -s -d qdisc show dev eth0
> qdisc pfifo_fast 0: root bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
> Sent 26292963818 bytes 347139141 pkts (dropped 0, overlimits 0 requeues 0)
> # tc -s -d class show dev eth0
>
>
> So I lost the default pfifo_fast classification.
IMHO it (pfifo_fast qdiscs under mq root) could/should get back.
>
> Just wondering if it could hurt some people.
>
> Anyway, should we change bnx2/tg3 drivers so that single queue devices
> have same default qdisc/class than before ?
>
> eg :
>
> diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
> index 08cddb6..7cac205 100644
> --- a/drivers/net/bnx2.c
> +++ b/drivers/net/bnx2.c
> @@ -6152,6 +6152,7 @@ bnx2_setup_int_mode(struct bnx2 *bp, int dis_msi)
>
> bp->num_tx_rings = rounddown_pow_of_two(bp->irq_nvecs);
> bp->dev->real_num_tx_queues = bp->num_tx_rings;
> + bp->dev->num_tx_queues = bp->dev->real_num_tx_queues;
>
> bp->num_rx_rings = bp->irq_nvecs;
> }
It doesn't look consistent to me wrt. the comment in netdevice.h on
num_tx_queues. But it seems we should rather use more often
real_num_tx_queue in schedulers code like dumps and maybe more
(like e.g. sch_multiq does).
Jarek P.
next prev parent reply other threads:[~2009-10-08 9:04 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-08 7:18 [RFC] multiqueue changes Eric Dumazet
2009-10-08 9:03 ` Jarek Poplawski [this message]
2009-10-08 12:00 ` Jarek Poplawski
2009-10-08 12:13 ` Eric Dumazet
2009-10-08 12:53 ` Jarek Poplawski
2009-10-09 7:58 ` David Miller
2009-10-28 17:27 ` Patrick McHardy
2009-10-28 21:23 ` Jarek Poplawski
2009-10-29 16:37 ` Patrick McHardy
2009-10-29 21:15 ` Jarek Poplawski
2009-10-29 22:12 ` Patrick McHardy
2009-10-30 10:00 ` Jarek Poplawski
2009-10-31 17:25 ` Michael Chan
2009-11-01 13:20 ` Jarek Poplawski
2009-11-02 11:35 ` David Miller
2009-11-02 12:30 ` Jarek Poplawski
2009-11-02 12:39 ` David Miller
2009-11-02 13:02 ` Jarek Poplawski
2009-11-02 13:03 ` Eric Dumazet
2009-11-02 13:09 ` Jarek Poplawski
2009-12-03 14:10 ` [PATCH] net: Introduce realloc_netdev_mq() Jarek Poplawski
2009-12-03 14:39 ` [PATCH v2] " Jarek Poplawski
2009-12-03 15:17 ` Eric Dumazet
2009-12-03 16:36 ` Jarek Poplawski
2009-12-03 16:54 ` Jarek Poplawski
2009-12-03 17:05 ` Eric Dumazet
2009-12-03 19:04 ` [PATCH v3] " Jarek Poplawski
2009-12-03 20:29 ` [PATCH v4] " Jarek Poplawski
2009-12-03 21:29 ` Eric Dumazet
2009-12-03 21:31 ` David Miller
2009-12-03 21:32 ` Eric Dumazet
2009-12-03 21:51 ` Eric Dumazet
2009-12-03 22:47 ` Jarek Poplawski
2009-12-03 23:04 ` Eric Dumazet
2009-12-04 7:48 ` Jarek Poplawski
2009-12-04 10:51 ` Peter P Waskiewicz Jr
2009-12-04 11:41 ` Jarek Poplawski
2009-12-04 13:01 ` Jarek Poplawski
2009-12-04 13:49 ` Jarek Poplawski
2010-01-16 22:50 ` Michael Chan
2010-01-17 0:36 ` Jarek Poplawski
2010-01-17 16:56 ` Michael Chan
2010-01-17 22:57 ` Jarek Poplawski
2010-01-18 18:29 ` Michael Chan
2010-01-18 19:41 ` Jarek Poplawski
2009-10-09 8:51 ` [RFC] multiqueue changes Jarek Poplawski
2009-10-09 9:40 ` 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=20091008090344.GA7409@ff.dom.local \
--to=jarkao2@gmail.com \
--cc=davem@davemloft.net \
--cc=eric.dumazet@gmail.com \
--cc=kaber@trash.net \
--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.