Re: [PATCH 4/8] net/i40e: set TC strict priority mode
From: Lu, Wenzhuo <hidden>
Date: 2017-03-24 07:07:30
Hi Jingjing,
-----Original Message----- From: Wu, Jingjing Sent: Friday, March 24, 2017 1:20 PM To: Lu, Wenzhuo; dev@dpdk.org Cc: Lu, Wenzhuo Subject: RE: [dpdk-dev] [PATCH 4/8] net/i40e: set TC strict priority modequoted
-----Original Message----- From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Wenzhuo Lu Sent: Friday, February 24, 2017 11:25 AM To: dev@dpdk.org Cc: Lu, Wenzhuo <redacted> 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 <redacted> --- 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 index260287e..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 maxbandwidth 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 prioritymode.quoted
+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.rstb/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 Issuesquoted
+ 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,quoted
+ NULL);How about to check the tc_map when the first time to set strict_prio_tc?
Thanks for the comment. I didn't consider that before. But I checked my patch, in the previous code, I've checked if tc_map is equal to strict_prio_tc. So if it's the first time to set strict_prio_tc, tc_map cannot be 0. Lucky :)