svn commit: r295826 - head/sys/dev/ixl
Eric Joyner
erj at FreeBSD.org
Fri Feb 19 21:58:16 UTC 2016
Author: erj
Date: Fri Feb 19 21:58:14 2016
New Revision: 295826
URL: https://svnweb.freebsd.org/changeset/base/295826
Log:
ixl(4): Fix two important RSS bugs.
- Change tc_mapping field to assign 64 queues instead of 16 to the PF's VSI;
add comments to describe how this is done.
- Set hash lut size to 512 when setting filter control; the lut size defaults
to 128 if this isn't set.
Differential Revision: https://reviews.freebsd.org/D5203
Reviewed by: gallatin
Tested by: jeffrey.e.pieper at intel.com
Sponsored by: Intel Corporation
Modified:
head/sys/dev/ixl/if_ixl.c
Modified: head/sys/dev/ixl/if_ixl.c
==============================================================================
--- head/sys/dev/ixl/if_ixl.c Fri Feb 19 21:53:12 2016 (r295825)
+++ head/sys/dev/ixl/if_ixl.c Fri Feb 19 21:58:14 2016 (r295826)
@@ -1175,6 +1175,7 @@ ixl_init_locked(struct ixl_pf *pf)
#ifdef IXL_FDIR
filter.enable_fdir = TRUE;
#endif
+ filter.hash_lut_size = I40E_HASH_LUT_SIZE_512;
if (i40e_set_filter_control(hw, &filter))
device_printf(dev, "set_filter_control() failed\n");
@@ -2758,8 +2759,17 @@ ixl_initialize_vsi(struct ixl_vsi *vsi)
*/
ctxt.info.valid_sections = I40E_AQ_VSI_PROP_QUEUE_MAP_VALID;
ctxt.info.mapping_flags |= I40E_AQ_VSI_QUE_MAP_CONTIG;
- ctxt.info.queue_mapping[0] = 0;
- ctxt.info.tc_mapping[0] = 0x0800;
+ /* In contig mode, que_mapping[0] is first queue index used by this VSI */
+ ctxt.info.queue_mapping[0] = 0;
+ /*
+ * This VSI will only use traffic class 0; start traffic class 0's
+ * queue allocation at queue 0, and assign it 64 (2^6) queues (though
+ * the driver may not use all of them).
+ */
+ ctxt.info.tc_mapping[0] = ((0 << I40E_AQ_VSI_TC_QUE_OFFSET_SHIFT)
+ & I40E_AQ_VSI_TC_QUE_OFFSET_MASK) |
+ ((6 << I40E_AQ_VSI_TC_QUE_NUMBER_SHIFT)
+ & I40E_AQ_VSI_TC_QUE_NUMBER_MASK);
/* Set VLAN receive stripping mode */
ctxt.info.valid_sections |= I40E_AQ_VSI_PROP_VLAN_VALID;
More information about the svn-src-all
mailing list