From: "Yuval Mintz" <yuvalmin@broadcom.com>
To: davem@davemloft.net, netdev@vger.kernel.org
Cc: eilong@broadcom.com, "Yuval Mintz" <yuvalmin@broadcom.com>,
"Divy Le Ray" <divy@chelsio.com>,
"Or Gerlitz" <ogerlitz@mellanox.com>,
"Jon Mason" <jdmason@kudzu.us>,
"Anirban Chakraborty" <anirban.chakraborty@qlogic.com>,
"Jitendra Kalsaria" <jitendra.kalsaria@qlogic.com>,
"Ron Mercer" <ron.mercer@qlogic.com>,
"Jeff Kirsher" <jeffrey.t.kirsher@intel.com>,
"Jon Mason" <mason@myri.com>,
"Andrew Gallatin" <gallatin@myri.com>,
"Sathya Perla" <sathya.perla@emulex.com>,
"Subbu Seetharaman" <subbu.seetharaman@emulex.com>,
"Ajit Khaparde" <ajit.khaparde@emulex.com>,
"Matt Carlson" <mcarlson@broadcom.com>,
"Michael Chan" <mchan@broadcom.com>,
"Eric Dumazet" <eric.dumazet@gmail.com>,
"Ben Hutchings" <bhutchings@solarflare.com>
Subject: [PATCH net-next 00/11] default maximal number of RSS queues in mq drivers
Date: Sun, 1 Jul 2012 16:18:49 +0300 [thread overview]
Message-ID: <1341148740-7375-1-git-send-email-yuvalmin@broadcom.com> (raw)
Different vendors support different number of RSS queues by default. Today,
there exists an ethtool API through which users can change the number of
channels their driver supports; This enables us to pursue the goal of using
a default number of RSS queues in various multi-queue drivers.
This patch intendeds to achieve the above default, by upper-limiting the number
of interrupts multi-queue drivers request (by default, not via the new API)
with correlation to the number of cpus on the machine.
After examining multi-queue drivers that call alloc_etherdev_mq[s],
it became evident that most drivers allocate their devices using hard-coded
values. Changing those defaults directly will most likely cause a regression.
However, (most) multi-queue driver look at the number of online cpus when
requesting for interrupts. We assume that the number of interrupts the
driver manages to request is propagated across the driver, and the number
of RSS queues it configures is based upon it.
This patch modifies said logic - if the number of cpus is large enough, use
a smaller default value instead. This serves 2 main purposes:
1. A step forward unity in the number of RSS queues of various drivers.
2. It prevents wasteful requests for memory on machines with many cpus.
Notice no testing was made on this patch (other than on the bnx2x driver)
except for compilation test. This patch is based on RFC:
http://marc.info/?l=linux-netdev&m=134062509310404&w=2
Drivers identified as multi-queue, handled in this patch:
* mellanox mlx4
* neterion vxge
* qlogic qlge
* chelsio cxgb3, cxgb4
* myricom myri10ge
* emulex benet
* broadcom tg3, bnx2, bnx2x
The guys at Intel requested to change their drivers' behaviour on their own,
in order to support ethtool's [g|s]et_channels. Thus, igb, igbx2, and igbxevf
were not handled in this patch.
Driver identified as multi-queue, no reference to number of online cpus found,
and thus unhandled in this patch:
* neterion s2io
* marvell mv643xx
* freescale gianfar
* ibm ehea
* ti cpmac
* sun niu
* sfc efx
* chelsio cxgb4vf
Cheers,
Yuval Mintz
Cc: Divy Le Ray <divy@chelsio.com>
Cc: Or Gerlitz <ogerlitz@mellanox.com>
Cc: Jon Mason <jdmason@kudzu.us>
Cc: Anirban Chakraborty <anirban.chakraborty@qlogic.com>
Cc: Jitendra Kalsaria <jitendra.kalsaria@qlogic.com>
Cc: Ron Mercer <ron.mercer@qlogic.com>
Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Cc: Jon Mason <mason@myri.com>
Cc: Andrew Gallatin <gallatin@myri.com>
Cc: Sathya Perla <sathya.perla@emulex.com>
Cc: Subbu Seetharaman <subbu.seetharaman@emulex.com>
Cc: Ajit Khaparde <ajit.khaparde@emulex.com>
Cc: Matt Carlson <mcarlson@broadcom.com>
Cc: Michael Chan <mchan@broadcom.com>
Cc: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Ben Hutchings <bhutchings@solarflare.com>
next reply other threads:[~2012-07-01 13:20 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-01 13:18 Yuval Mintz [this message]
2012-07-01 13:18 ` [PATCH net-next 01/11] net-next: Add netif_get_num_default_rss_queues Yuval Mintz
2012-07-01 13:18 ` [PATCH net-next 02/11] mlx4: set maximal number of default RSS queues Yuval Mintz
2012-07-01 13:18 ` [PATCH net-next 03/11] vxge: " Yuval Mintz
2012-07-01 13:18 ` [PATCH net-next 04/11] qlge: " Yuval Mintz
2012-07-01 13:18 ` [PATCH net-next 05/11] cxgb3: " Yuval Mintz
2012-07-01 13:18 ` [PATCH net-next 06/11] cxgb4: " Yuval Mintz
2012-07-01 13:18 ` [PATCH net-next 07/11] myri10ge: " Yuval Mintz
2012-07-01 13:18 ` [PATCH net-next 08/11] tg3: " Yuval Mintz
2012-07-01 13:18 ` [PATCH net-next 09/11] bnx2: " Yuval Mintz
2012-07-01 13:18 ` [PATCH net-next 10/11] bnx2x: " Yuval Mintz
2012-07-01 13:19 ` [PATCH net-next 11/11] be2net: " Yuval Mintz
2012-07-01 15:01 ` [PATCH net-next 00/11] default maximal number of RSS queues in mq drivers Or Gerlitz
2012-07-02 4:55 ` Yuval Mintz
2012-07-05 10:07 ` 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=1341148740-7375-1-git-send-email-yuvalmin@broadcom.com \
--to=yuvalmin@broadcom.com \
--cc=ajit.khaparde@emulex.com \
--cc=anirban.chakraborty@qlogic.com \
--cc=bhutchings@solarflare.com \
--cc=davem@davemloft.net \
--cc=divy@chelsio.com \
--cc=eilong@broadcom.com \
--cc=eric.dumazet@gmail.com \
--cc=gallatin@myri.com \
--cc=jdmason@kudzu.us \
--cc=jeffrey.t.kirsher@intel.com \
--cc=jitendra.kalsaria@qlogic.com \
--cc=mason@myri.com \
--cc=mcarlson@broadcom.com \
--cc=mchan@broadcom.com \
--cc=netdev@vger.kernel.org \
--cc=ogerlitz@mellanox.com \
--cc=ron.mercer@qlogic.com \
--cc=sathya.perla@emulex.com \
--cc=subbu.seetharaman@emulex.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).