forked from luck/tmp_suning_uos_patched
ixgbe: setup redirection table for multiple packet buffers
Setup RSS redirection table to be compatible with multiple packet buffers. Currently, this works on 82599 devices because the RSS redirection index is masked by the number of queues per packet buffer. This sets the cap on the RSS table to maxq. Signed-off-by: John Fastabend <john.r.fastabend@intel.com> Tested-by: Ross Brattain <ross.b.brattain@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
aba70d5e6c
commit
86b4db3bcc
@ -2939,6 +2939,10 @@ static void ixgbe_setup_mrqc(struct ixgbe_adapter *adapter)
|
|||||||
u32 rxcsum;
|
u32 rxcsum;
|
||||||
int i, j;
|
int i, j;
|
||||||
u8 tcs = netdev_get_num_tc(adapter->netdev);
|
u8 tcs = netdev_get_num_tc(adapter->netdev);
|
||||||
|
int maxq = adapter->ring_feature[RING_F_RSS].indices;
|
||||||
|
|
||||||
|
if (tcs)
|
||||||
|
maxq = min(maxq, adapter->num_tx_queues / tcs);
|
||||||
|
|
||||||
/* Fill out hash function seeds */
|
/* Fill out hash function seeds */
|
||||||
for (i = 0; i < 10; i++)
|
for (i = 0; i < 10; i++)
|
||||||
@ -2946,7 +2950,7 @@ static void ixgbe_setup_mrqc(struct ixgbe_adapter *adapter)
|
|||||||
|
|
||||||
/* Fill out redirection table */
|
/* Fill out redirection table */
|
||||||
for (i = 0, j = 0; i < 128; i++, j++) {
|
for (i = 0, j = 0; i < 128; i++, j++) {
|
||||||
if (j == adapter->ring_feature[RING_F_RSS].indices)
|
if (j == maxq)
|
||||||
j = 0;
|
j = 0;
|
||||||
/* reta = 4-byte sliding window of
|
/* reta = 4-byte sliding window of
|
||||||
* 0x00..(indices-1)(indices-1)00..etc. */
|
* 0x00..(indices-1)(indices-1)00..etc. */
|
||||||
|
Loading…
Reference in New Issue
Block a user