[dpdk-dev] [PATCH 02/12] eal: avoid calling rte_vdev_init()

Tan, Jianfeng jianfeng.tan at intel.com
Wed Aug 30 00:25:06 CEST 2017


Hi Gaetan,


On 8/29/2017 5:50 AM, Gaëtan Rivet wrote:
> Hi,
>
> On Fri, Aug 25, 2017 at 09:40:42AM +0000, Jianfeng Tan wrote:
>> We can call bus->plug() to avoid calling rte_vdev_init() explicitly.
>>
>> Signed-off-by: Jianfeng Tan <jianfeng.tan at intel.com>
>> ---
>>   lib/librte_eal/common/eal_common_dev.c | 21 +++++----------------
>>   1 file changed, 5 insertions(+), 16 deletions(-)
>>
>> diff --git a/lib/librte_eal/common/eal_common_dev.c b/lib/librte_eal/common/eal_common_dev.c
>> index e251275..066dfbf 100644
>> --- a/lib/librte_eal/common/eal_common_dev.c
>> +++ b/lib/librte_eal/common/eal_common_dev.c
>> @@ -67,7 +67,6 @@ static int cmp_dev_name(const struct rte_device *dev, const void *_name)
>>   int rte_eal_dev_attach(const char *name, const char *devargs)
>>   {
>>   	struct rte_bus *bus;
>> -	int ret;
>>   
>>   	if (name == NULL || devargs == NULL) {
>>   		RTE_LOG(ERR, EAL, "Invalid device or arguments provided\n");
>> @@ -80,22 +79,12 @@ int rte_eal_dev_attach(const char *name, const char *devargs)
>>   			name);
>>   		return -EINVAL;
>>   	}
>> -	if (strcmp(bus->name, "pci") == 0)
>> -		return rte_eal_hotplug_add("pci", name, devargs);
>> -	if (strcmp(bus->name, "vdev") != 0) {
>> -		RTE_LOG(ERR, EAL, "Device attach is only supported for PCI and vdev devices.\n");
>> -		return -ENOTSUP;
>> -	}
>> +	if (strcmp(bus->name, "pci") == 0 || strcmp(bus->name, "vdev") != 0)
> It seems to be a copy / paste error, it should probably be:
>
> +	if (strcmp(bus->name, "pci") == 0 || strcmp(bus->name, "vdev") == 0)

Nice catch. Will fix it in next version.

>
> Now, one could question the relevancy of keeping this API
> (rte_eal_dev_attach / detach), but I guess this is beyond the scope of
> this series.

This is a valid ask. It seems a duplication of 
rte_eal_hotplug_add()/rte_eal_hotplug_remove().

Thanks,
Jianfeng

>> +		return rte_eal_hotplug_add(bus->name, name, devargs);
>>   
>> -	/*
>> -	 * If we haven't found a bus device the user meant to "hotplug" a
>> -	 * virtual device instead.
>> -	 */
>> -	ret = rte_vdev_init(name, devargs);
>> -	if (ret)
>> -		RTE_LOG(ERR, EAL, "Driver cannot attach the device (%s)\n",
>> -			name);
>> -	return ret;
>> +	RTE_LOG(ERR, EAL, "Device attach is only supported for PCI and vdev devices.\n");
>> +
>> +	return -ENOTSUP;
>>   }
>>   
>>   int rte_eal_dev_detach(struct rte_device *dev)
>> -- 
>> 2.7.4
>>



More information about the dev mailing list