> -----Original Message----- > From: [EMAIL PROTECTED] [mailto:netdev- > [EMAIL PROTECTED] On Behalf Of Waskiewicz Jr, Peter P > Sent: Wednesday, June 06, 2007 3:31 PM > To: [EMAIL PROTECTED]; Patrick McHardy > Cc: [EMAIL PROTECTED]; netdev@vger.kernel.org; [EMAIL PROTECTED]; Kok, > Auke-jan H > Subject: RE: [PATCH] NET: Multiqueue network device support. > > > [Which of course leads to the complexity (and not optimizing > > for the common - which is single ring NICs)]. > > The common for 100 Mbit and older 1Gbit is single ring NICs. Newer > PCI-X and PCIe NICs from 1Gbit to 10Gbit support multiple rings in the > hardware, and it's all headed in that direction, so it's becoming the > common case.
IMHO, in addition to current Intel and Neterion NICs, some/most upcoming NICs are likely to be multiqueue, since virtualization emerges as a major driver for hw designs (there are other things of course that drive hw, but these are complimentary to multiqueue). PCI-SIG IOV extensions for pci spec are almost done, and a typical NIC (at least, typical 10GbE NIC that supports some subset of IOV) in the near future is likely to have at least 8 independent channels with its own tx/rx queue, MAC address, msi-x vector(s), reset that doesn't affect other channels, etc. Basically, each channel could be used as an independent NIC that just happens to share pci bus and 10GbE PHY with other channels (but has per-channel QoS and throughput guarantees). In a non-virtualized system, such NICs could be used in a mode when each channel runs on one core; this may eliminate some locking... This mode will require btw deterministic session steering, current hashing approach in the patch is not sufficient; this is something we can contribute once Peter's code is in. In general, a consensus on kernel support for multiqueue NICs will be beneficial since multiqueue HW is here and other stacks already taking advantage of it. - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html