> -----Original Message----- > From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Wenzhuo Lu > Sent: Friday, February 24, 2017 11:25 AM > To: dev@dpdk.org > Cc: Lu, Wenzhuo <wenzhuo...@intel.com> > Subject: [dpdk-dev] [PATCH 4/8] net/i40e: set TC strict priority mode > > Set some TCs to strict priority mode. > It's a global setting on a physical port. > > Signed-off-by: Wenzhuo Lu <wenzhuo...@intel.com> > --- > doc/guides/nics/i40e.rst | 10 +++ > doc/guides/rel_notes/release_17_05.rst | 7 ++ > drivers/net/i40e/i40e_ethdev.c | 119 > ++++++++++++++++++++++++++++++ > drivers/net/i40e/i40e_ethdev.h | 1 + > drivers/net/i40e/rte_pmd_i40e.h | 15 ++++ > drivers/net/i40e/rte_pmd_i40e_version.map | 1 + > 6 files changed, 153 insertions(+) > > diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst index > 260287e..361d9d9 100644 > --- a/doc/guides/nics/i40e.rst > +++ b/doc/guides/nics/i40e.rst > @@ -478,3 +478,13 @@ enabled. If so, return failure. > When enabling per TC max bandwidth, SW will check if per VF max bandwidth > is enabled. If so, disable per VF max bandwidth and continue with per TC max > bandwidth setting. > + > +TC TX scheduling mode setting > +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > + > +There're 2 TX scheduling modes for TCs, round robin and strict priority mode. > +If a TC is set to strict priority mode, it can consume unlimited bandwidth. > +It means if APP has set the max bandwidth for that TC, it comes to no > +effect. > +It's suggested to set the strict priority mode for a TC that is latency > +sensitive but no consuming much bandwidth. > diff --git a/doc/guides/rel_notes/release_17_05.rst > b/doc/guides/rel_notes/release_17_05.rst > index d31435c..99811a2 100644 > --- a/doc/guides/rel_notes/release_17_05.rst > +++ b/doc/guides/rel_notes/release_17_05.rst > @@ -55,6 +55,13 @@ New Features > i40e HW supports to set the max bandwidth for a TC on a VF. Enable this > capability. > > +* **Added TC strict priority mode setting on i40e.** > + > + There're 2 TX scheduling modes supported for TCs by i40e HW, round > + ribon mode and strict priority mode. By default it's round robin > + mode. Enable the capability to change the TX scheduling mode for a > + TC. It's a global setting on a physical port. > + > Resolved Issues
> + if (!veb->strict_prio_tc) > + ret = i40e_aq_config_switch_comp_ets( > + hw, veb->uplink_seid, > + &ets_data, i40e_aqc_opc_enable_switching_comp_ets, > + NULL); How about to check the tc_map when the first time to set strict_prio_tc?