netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC net-next 00/14] default maximal number of RSS queues in mq drivers
@ 2012-06-19 15:13 Yuval Mintz
  2012-06-19 15:13 ` [RFC net-next 01/14] Add Default Yuval Mintz
                   ` (15 more replies)
  0 siblings, 16 replies; 39+ messages in thread
From: Yuval Mintz @ 2012-06-19 15:13 UTC (permalink / raw)
  To: netdev, davem
  Cc: eilong, Yuval Mintz, Divy Le Ray, Or Gerlitz, Jon Mason,
	Anirban Chakraborty, Jitendra Kalsaria, Ron Mercer, Jeff Kirsher,
	Jon Mason, Andrew Gallatin, Sathya Perla, Subbu Seetharaman,
	Ajit Khaparde, Matt Carlson, Michael Chan

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 RFC 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 RFC 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 interrupts on machines with many cpus.

Notice no testing was made on this RFC (other than on the bnx2x driver)
except for compilation test.

Drivers identified as multi-queue, handled in this RFC:

* mellanox mlx4
* neterion vxge
* qlogic   qlge
* intel    igb, igbxe, igbxevf
* chelsio  cxgb3, cxgb4
* myricom  myri10ge
* emulex   benet
* broadcom tg3, bnx2, bnx2x

Driver identified as multi-queue, no reference to number of online cpus found,
and thus unhandled in this RFC:

* 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>

^ permalink raw reply	[flat|nested] 39+ messages in thread

end of thread, other threads:[~2012-06-25 11:25 UTC | newest]

Thread overview: 39+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-19 15:13 [RFC net-next 00/14] default maximal number of RSS queues in mq drivers Yuval Mintz
2012-06-19 15:13 ` [RFC net-next 01/14] Add Default Yuval Mintz
2012-06-19 16:37   ` Alexander Duyck
2012-06-19 17:41     ` Eilon Greenstein
2012-06-19 19:01       ` Alexander Duyck
2012-06-19 19:53         ` Eilon Greenstein
2012-06-19 21:26         ` David Miller
2012-06-19 21:22     ` David Miller
2012-06-19 15:13 ` [RFC net-next 02/14] Fix mellanox/mlx4 Yuval Mintz
2012-06-19 15:13 ` [RFC net-next 03/14] fix neterion/vxge Yuval Mintz
2012-06-19 15:13 ` [RFC net-next 04/14] Fix qlogic/qlge Yuval Mintz
2012-06-19 15:13 ` [RFC net-next 05/14] Fix intel/ixgbevf Yuval Mintz
2012-06-19 15:39   ` Alexander Duyck
2012-06-19 16:06     ` Eilon Greenstein
2012-06-19 18:07       ` Greg Rose
2012-06-19 18:24         ` Eilon Greenstein
2012-06-25 11:23         ` Yuval Mintz
2012-06-19 15:14 ` [RFC net-next 06/14] Fix intel/igb Yuval Mintz
2012-06-19 15:42   ` Alexander Duyck
2012-06-19 16:07     ` Eilon Greenstein
2012-06-19 15:14 ` [RFC net-next 07/14] Fix intel/ixgbe Yuval Mintz
2012-06-19 15:54   ` Alexander Duyck
2012-06-19 16:11     ` Eilon Greenstein
2012-06-20  8:55     ` Eric Dumazet
2012-06-20 15:30       ` John Fastabend
2012-06-19 15:14 ` [RFC net-next 08/14] Fix chelsio/cxgb3 Yuval Mintz
2012-06-19 15:14 ` [RFC net-next 09/14] Fix chelsio/cxgb4 Yuval Mintz
2012-06-19 15:14 ` [RFC net-next 10/14] Fix myricom/myri10ge Yuval Mintz
2012-06-19 15:14 ` [RFC net-next 11/14] Fix emulex/benet Yuval Mintz
2012-06-19 22:55   ` Ajit.Khaparde
2012-06-21  6:42   ` Sathya.Perla
2012-06-19 15:14 ` [RFC net-next 12/14] Fix broadcom/tg3 Yuval Mintz
2012-06-19 15:14 ` [RFC net-next 13/14] Fix broadcom/bnx2 Yuval Mintz
2012-06-19 15:14 ` [RFC net-next 14/14] Fix broadcom/bnx2x Yuval Mintz
2012-06-19 16:17 ` [RFC net-next 00/14] default maximal number of RSS queues in mq drivers Eilon Greenstein
2012-06-20 20:43 ` Ben Hutchings
2012-06-20 20:48   ` Ben Hutchings
2012-06-21  5:15     ` Yuval Mintz
2012-06-21  5:49       ` David Miller

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).