On 11/9/2017 5:53 PM, Mody, Rasesh wrote: > Hi Ferruh, > >> From: Ferruh Yigit [mailto:ferruh.yi...@intel.com] >> Sent: Thursday, November 09, 2017 5:07 PM >> >> On 11/9/2017 3:16 PM, Patil, Harish wrote: >>> -----Original Message----- >>> From: Ferruh Yigit <ferruh.yi...@intel.com> >>> Date: Thursday, November 9, 2017 at 4:07 PM >>> To: Harish Patil <harish.pa...@cavium.com>, "Mody, Rasesh" >>> <rasesh.m...@cavium.com>, "dev@dpdk.org" <dev@dpdk.org>, >>> "thomas.monja...@6wind.com" <thomas.monja...@6wind.com> >>> Cc: Dept-Eng DPDK Dev <dept-engdpdk...@cavium.com> >>> Subject: Re: [dpdk-dev] [PATCH 2/2] net/qede: fix default config >>> option >>> >>>> On 11/9/2017 3:00 PM, Patil, Harish wrote: >>>>> -----Original Message----- >>>>> From: Harish Patil <harish.pa...@cavium.com> >>>>> Date: Thursday, November 9, 2017 at 3:57 PM >>>>> To: Ferruh Yigit <ferruh.yi...@intel.com>, "Mody, Rasesh" >>>>> <rasesh.m...@cavium.com>, "dev@dpdk.org" <dev@dpdk.org>, >>>>> "thomas.monja...@6wind.com" <thomas.monja...@6wind.com> >>>>> Cc: Dept-Eng DPDK Dev <dept-engdpdk...@cavium.com> >>>>> Subject: Re: [dpdk-dev] [PATCH 2/2] net/qede: fix default config >>>>> option >>>>> >>>>>> -----Original Message----- >>>>>> From: Ferruh Yigit <ferruh.yi...@intel.com> >>>>>> Date: Thursday, November 9, 2017 at 3:48 PM >>>>>> To: "Mody, Rasesh" <rasesh.m...@cavium.com>, "dev@dpdk.org" >>>>>> <dev@dpdk.org>, "thomas.monja...@6wind.com" >>>>>> <thomas.monja...@6wind.com> >>>>>> Cc: Harish Patil <harish.pa...@cavium.com>, Dept-Eng DPDK Dev >>>>>> <dept-engdpdk...@cavium.com> >>>>>> Subject: Re: [dpdk-dev] [PATCH 2/2] net/qede: fix default config >>>>>> option >>>>>> >>>>>>> On 11/8/2017 10:52 PM, Rasesh Mody wrote: >>>>>>>> From: Harish Patil <harish.pa...@cavium.com> >>>>>>>> >>>>>>>> Restore the default configuration as in previous releases and add >>>>>>>> a debug msg. >>>>>>> >>>>>>> Is this reverting >>>>>>> "f07aa795c92a ("net/qede: disable per-VF Tx switching feature")" >>>>>>> >>>>>>> This will be same as code before f07aa795c92a , right? If so why >>>>>>> not just remove the config option for this release and add a >>>>>>> dynamic runtime in next release? >>>>>>> >>>>>>> I am not clear for both f07aa795c92a and this one fixing, and why >>>>>>> should they be included for rc3? >>>>>>> >>>>>>> Thanks, >>>>>>> Ferruh >>>>>> >>>>>> Hi Ferruh, >>>>>> Some customers are interested in getting better performance with >>>>>> 64B sized packets. For that, they would need to keep this config >>>>>> disabled. >>>>>> But in all other cases, by default, we would like to keep Tx >>>>>> switching enabled (at a reduced performance) as in previous releases. >>>>>> As stated in other email with Thomas, we shall remove this >>>>>> compile-time config option in next release and use runtime option >> instead. >>>>>> But for 17.08 we need it to be enabled by default. >>>>>> Thanks. >>>>> >>>>> Correction, I meant 17.11 release, not 17.08. >>>> >>>> Other patch just sent two days ago, to introduce the config option as >>>> disabled by default, so it was changing the behavior and accepted as >>>> a fix for rc3. >>>> >>>> Now two days later, this patch enables it as a fix again, only >>>> difference for two days ago becomes adding a config option? >>>> >>> >>> Hi Ferruh, >>> The patch sent two days ago with config option disabled was a mistake. >>> Yesterday we realized that it is not a desirable thing to keep the >>> config disabled since many customers would typically need Tx switching >>> to be enabled. >> >> I am trying to say, if you want to revert back and turn to original code, why >> not completely revert, removing config option too? > > We have an issue where we see low numbers with 64 byte frames and is seen > when "per-VF Tx switching" feature is enabled (which is the default behavior > without the config option). To get better performance with small sized > frames, the fix is to disable the Tx switching feature. We need to have the > config option as a hotfix as it provides a means to disable "per-VF Tx > switching" feature and achieve better performance with small sized frames. In > other words, it provides end user with an option to enable a feature or get > better small packet performance.
I got what you are doing, this is about how you did it, but ok to patch, I think already late to discus more. > We also need this config option to be picked in DPDK 17.08 stable, which > exhibits same behavior. Not sure if we backport new config options to stable trees? cc'ed Yuanhan. > Thanks! > -Rasesh > >> >> Specially taking into account that you will remove it next release already. >> >>> So the current patch we sent is just to change back the config option >>> set to enable from disable. Hence its a fix for the previous patch. >> >> The cumulative output of both patches are adding a config option that >> doesn't change code execution by default. Overall output is not a fix. >> What do you think about a full revert of previous patch? >> >>> Thanks. >>>>>> >>>>>>> >>>>>>>> >>>>>>>> Fixes: f07aa795c92a ("net/qede: disable per-VF Tx switching >>>>>>>> feature") >>>>>>>> >>>>>>>> Signed-off-by: Harish Patil <harish.pa...@cavium.com> >>>>>>>> Signed-off-by: Rasesh Mody <rasesh.m...@cavium.com> >>>>>>>> --- >>>>>>>> config/common_base | 2 +- >>>>>>>> drivers/net/qede/qede_ethdev.c | 5 +++-- >>>>>>>> 2 files changed, 4 insertions(+), 3 deletions(-) >>>>>>>> >>>>>>>> diff --git a/config/common_base b/config/common_base index >>>>>>>> 34f04a9..e74febe 100644 >>>>>>>> --- a/config/common_base >>>>>>>> +++ b/config/common_base >>>>>>>> @@ -415,7 +415,7 @@ CONFIG_RTE_LIBRTE_QEDE_DEBUG_INFO=n >>>>>>>> CONFIG_RTE_LIBRTE_QEDE_DEBUG_DRIVER=n >>>>>>>> CONFIG_RTE_LIBRTE_QEDE_DEBUG_TX=n >>>>>>>> CONFIG_RTE_LIBRTE_QEDE_DEBUG_RX=n >>>>>>>> -CONFIG_RTE_LIBRTE_QEDE_VF_TX_SWITCH=n >>>>>>>> +CONFIG_RTE_LIBRTE_QEDE_VF_TX_SWITCH=y >>>>>>>> #Provides abs path/name of the firmware file. >>>>>>>> #Empty string denotes driver will use default firmware >>>>>>>> CONFIG_RTE_LIBRTE_QEDE_FW="" >>>>>>>> diff --git a/drivers/net/qede/qede_ethdev.c >>>>>>>> b/drivers/net/qede/qede_ethdev.c index 8832145..6f5ba2a 100644 >>>>>>>> --- a/drivers/net/qede/qede_ethdev.c >>>>>>>> +++ b/drivers/net/qede/qede_ethdev.c >>>>>>>> @@ -457,6 +457,7 @@ int qede_activate_vport(struct rte_eth_dev >>>>>>>> *eth_dev, bool flg) >>>>>>>> if (IS_VF(edev)) { >>>>>>>> params.update_tx_switching_flg = 1; >>>>>>>> params.tx_switching_flg = !flg; >>>>>>>> + DP_INFO(edev, "VF tx-switching is disabled\n"); >>>>>>>> } >>>>>>>> #endif >>>>>>>> for_each_hwfn(edev, i) { >>>>>>>> @@ -469,8 +470,8 @@ int qede_activate_vport(struct rte_eth_dev >>>>>>>> *eth_dev, bool flg) >>>>>>>> break; >>>>>>>> } >>>>>>>> } >>>>>>>> - DP_INFO(edev, "vport %s VF tx-switch %s\n", flg ? >> "activated" : >>>>>>>> "deactivated", >>>>>>>> - params.tx_switching_flg ? "enabled" : >> "disabled"); >>>>>>>> + DP_INFO(edev, "vport is %s\n", flg ? "activated" : >>>>>>>> +"deactivated"); >>>>>>>> + >>>>>>>> return rc; >>>>>>>> } >>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >