failsafe: Bug fix for the secondary process RX-TX support

Message ID 20211111100621.84769-1-kumaraparamesh92@gmail.com (mailing list archive)
State Superseded, archived
Delegated to: Ferruh Yigit
Headers
Series failsafe: Bug fix for the secondary process RX-TX support |

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/Intel-compilation success Compilation OK
ci/github-robot: build success github build: passed
ci/intel-Testing success Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-aarch64-unit-testing success Testing PASS
ci/iol-aarch64-compile-testing success Testing PASS
ci/iol-x86_64-unit-testing success Testing PASS
ci/iol-x86_64-compile-testing success Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS

Commit Message

Kumara Parameshwaran Nov. 11, 2021, 10:06 a.m. UTC
  Remove the vdev args check for secondary process which prevents the secondary from attaching
to the device created by the primary process via the hotplug framework. This check was removed
for other vdevs but was missed for failsafe.

Signed-off-by: Kumara Parameshwaran <kumaraparamesh92@gmail.com>
---
 drivers/net/failsafe/failsafe.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
  

Comments

Gaëtan Rivet Nov. 11, 2021, 10:59 a.m. UTC | #1
On Thu, Nov 11, 2021, at 11:06, Kumara Parameshwaran wrote:
> Remove the vdev args check for secondary process which prevents the 
> secondary from attaching
> to the device created by the primary process via the hotplug framework. 
> This check was removed
> for other vdevs but was missed for failsafe.
>
> Signed-off-by: Kumara Parameshwaran <kumaraparamesh92@gmail.com>

Hello Kumara,

Thanks for your patch.
If this is a fix, can you provide the fixline with a pointer to the patch it is meant
to fix please?

I'm guessing this should be this:
Fixes: 4852aa8f6e21 ("drivers/net: enable hotplug on secondary process")
Cc: qi.z.zhang@intel.com

Looking at this patch, I see also

+       if (rte_eal_process_type() != RTE_PROC_PRIMARY)
+               return rte_eth_dev_release_port_secondary(eth_dev);
+

Added to the remove callbacks of the ports.
It seems to be omitted from this patch, is there a reason?

> ---
>  drivers/net/failsafe/failsafe.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/net/failsafe/failsafe.c b/drivers/net/failsafe/failsafe.c
> index ad6b43538e..3c754a5f66 100644
> --- a/drivers/net/failsafe/failsafe.c
> +++ b/drivers/net/failsafe/failsafe.c
> @@ -340,8 +340,7 @@ rte_pmd_failsafe_probe(struct rte_vdev_device *vdev)
>  	INFO("Initializing " FAILSAFE_DRIVER_NAME " for %s",
>  			name);
> 
> -	if (rte_eal_process_type() == RTE_PROC_SECONDARY &&
> -	    strlen(rte_vdev_device_args(vdev)) == 0) {
> +	if (rte_eal_process_type() == RTE_PROC_SECONDARY) {
>  		eth_dev = rte_eth_dev_attach_secondary(name);
>  		if (!eth_dev) {
>  			ERROR("Failed to probe %s", name);
> -- 
> 2.30.1 (Apple Git-130)
  
Ferruh Yigit Nov. 17, 2021, 11:26 a.m. UTC | #2
On 11/11/2021 10:59 AM, Gaëtan Rivet wrote:
> On Thu, Nov 11, 2021, at 11:06, Kumara Parameshwaran wrote:
>> Remove the vdev args check for secondary process which prevents the
>> secondary from attaching
>> to the device created by the primary process via the hotplug framework.
>> This check was removed
>> for other vdevs but was missed for failsafe.
>>
>> Signed-off-by: Kumara Parameshwaran <kumaraparamesh92@gmail.com>
> 
> Hello Kumara,
> 
> Thanks for your patch.
> If this is a fix, can you provide the fixline with a pointer to the patch it is meant
> to fix please?
> 
> I'm guessing this should be this:
> Fixes: 4852aa8f6e21 ("drivers/net: enable hotplug on secondary process")
> Cc: qi.z.zhang@intel.com
> 
> Looking at this patch, I see also
> 
> +       if (rte_eal_process_type() != RTE_PROC_PRIMARY)
> +               return rte_eth_dev_release_port_secondary(eth_dev);
> +
> 
> Added to the remove callbacks of the ports.
> It seems to be omitted from this patch, is there a reason?
> 

Hi Gaetan,

Above addition is no more required since primary and secondary release
functions merged into 'rte_eth_dev_release_port()' one which has process
type check inside it.

And failsafe remove path already calls 'rte_eth_dev_release_port()', so
it should be OK.

>> ---
>>   drivers/net/failsafe/failsafe.c | 3 +--
>>   1 file changed, 1 insertion(+), 2 deletions(-)
>>
>> diff --git a/drivers/net/failsafe/failsafe.c b/drivers/net/failsafe/failsafe.c
>> index ad6b43538e..3c754a5f66 100644
>> --- a/drivers/net/failsafe/failsafe.c
>> +++ b/drivers/net/failsafe/failsafe.c
>> @@ -340,8 +340,7 @@ rte_pmd_failsafe_probe(struct rte_vdev_device *vdev)
>>   	INFO("Initializing " FAILSAFE_DRIVER_NAME " for %s",
>>   			name);
>>
>> -	if (rte_eal_process_type() == RTE_PROC_SECONDARY &&
>> -	    strlen(rte_vdev_device_args(vdev)) == 0) {
>> +	if (rte_eal_process_type() == RTE_PROC_SECONDARY) {
>>   		eth_dev = rte_eth_dev_attach_secondary(name);
>>   		if (!eth_dev) {
>>   			ERROR("Failed to probe %s", name);
>> -- 
>> 2.30.1 (Apple Git-130)
>
  

Patch

diff --git a/drivers/net/failsafe/failsafe.c b/drivers/net/failsafe/failsafe.c
index ad6b43538e..3c754a5f66 100644
--- a/drivers/net/failsafe/failsafe.c
+++ b/drivers/net/failsafe/failsafe.c
@@ -340,8 +340,7 @@  rte_pmd_failsafe_probe(struct rte_vdev_device *vdev)
 	INFO("Initializing " FAILSAFE_DRIVER_NAME " for %s",
 			name);
 
-	if (rte_eal_process_type() == RTE_PROC_SECONDARY &&
-	    strlen(rte_vdev_device_args(vdev)) == 0) {
+	if (rte_eal_process_type() == RTE_PROC_SECONDARY) {
 		eth_dev = rte_eth_dev_attach_secondary(name);
 		if (!eth_dev) {
 			ERROR("Failed to probe %s", name);