Operating System - Linux
1829115 Members
12032 Online
109986 Solutions
New Discussion

Re: Multiqueue configuration for intel igb driver (Linux)

 
sartsch
Occasional Contributor

Multiqueue configuration for intel igb driver (Linux)

Dear folks,

I wonder, why the igb driver does not enable multiqueueing by default (internal nc362i with 82576 chipset)

lido-bl5210:~ # dmesg | grep igb | grep Using
igb 0000:02:00.0: Using MSI-X interrupts. 1 rx queue(s), 1 tx queue(s)
igb 0000:02:00.1: Using MSI-X interrupts. 1 rx queue(s), 1 tx queue(s)

When I force multiqueueing via
options igb IntMode=2,2 RSS=4,4
then it is enabled

lido-bl5210:~ # dmesg | grep igb | grep Using
igb 0000:02:00.0: Using MSI-X interrupts. 4 rx queue(s), 4 tx queue(s)
igb 0000:02:00.1: Using MSI-X interrupts. 4 rx queue(s), 4 tx queue(s)

Does anyone know, why this is not enabled by default?

best regards,
Christian
3 REPLIES 3
rick jones
Honored Contributor

Re: Multiqueue configuration for intel igb driver (Linux)

The simplest plausible though not necessarily correct explanation is that the folks who worked on the unstated version of the driver in the unstated distro and version of Linux you are running didn't think it necessary to enable more than one queue by default for a 1GbE port. Multiple queues will consume more memory because there will be separate rings/queues each (IIRC) sized the same as when there was just the one.
there is no rest for the wicked yet the virtuous have no pillows
sartsch
Occasional Contributor

Re: Multiqueue configuration for intel igb driver (Linux)

Sorry concerning the missing information:

SLES11 2.6.27.39-0.3-default

igb 2.4.11 PSP 8.70

Does the increasing of the queue count have a performance or load impact?

best regards,
Christian
rick jones
Honored Contributor

Re: Multiqueue configuration for intel igb driver (Linux)

It depends. With multiple queues, presumably multiple CPUs can be processing interrupts from the NIC. That will mean greater parallelism. Whether it actually happens or not will depend on the nature of the traffic arriving at the system. If there is just one "flow" (the definition of which can vary but for now think either TCP connection or perhaps traffic between just two IP addresses) then only one queue will be used regardless.

At 1 GbE operation the main effect of multiple queues would be with small packet situations - where a single CPU servicing interrupts from the NIC might become saturated.
there is no rest for the wicked yet the virtuous have no pillows