sfc: Allow driver to cope with a lower number of VIs than it needs for RSS
Previously, the driver would refuse to load if it couldn't secure enough VIs from the MC to fulfill its RSS requirements. This was causing probe to fail on later functions in configurations where we'd run out of VIs, such as having many VFs. This change allows the driver to load with fewer VIs, down to a minimum of 2. A warning will be printed saying that RSS requirements were not met, possibly affecting performance. efx->max_tx_channels needs to be set to avoid going down the failure path in efx_probe_nic() immediately in the loop after the probe() NIC-type function. Also, Set rc=ENOSPC when bombing out of efx_probe_nic due to lack of VIs. Signed-off-by: Shradha Shah <sshah@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
a69265e9f6
commit
b0fbdae127
@@ -972,6 +972,7 @@ struct efx_nic {
|
||||
unsigned next_buffer_table;
|
||||
|
||||
unsigned int max_channels;
|
||||
unsigned int max_tx_channels;
|
||||
unsigned n_channels;
|
||||
unsigned n_rx_channels;
|
||||
unsigned rss_spread;
|
||||
|
Reference in New Issue
Block a user