[dpdk-dev] [RFC] lib/ethdev: add dev configured flag

Huisong Li lihuisong at huawei.com
Tue Jul 6 03:48:45 CEST 2021


在 2021/7/5 17:50, Andrew Rybchenko 写道:
> Hi Huisong,
>
> On 7/5/21 9:07 AM, Thomas Monjalon wrote:
>> 05/07/2021 05:18, Huisong Li:
>>> 在 2021/7/5 4:05, Thomas Monjalon 写道:
>>>> 08/05/2021 10:00, Huisong Li:
>>>>> Currently, if dev_configure is not invoked or fails to be invoked, users
>>>>> can still invoke dev_start successfully. This patch adds a "dev_configured"
>>>>> flag in "rte_eth_dev_data" to control whether dev_start can be invoked.
>>>> [...]
>>>>> --- a/lib/ethdev/rte_ethdev_core.h
>>>>> +++ b/lib/ethdev/rte_ethdev_core.h
>>>>> @@ -167,7 +167,11 @@ struct rte_eth_dev_data {
>>>>>    		scattered_rx : 1,  /**< RX of scattered packets is ON(1) / OFF(0) */
>>>>>    		all_multicast : 1, /**< RX all multicast mode ON(1) / OFF(0). */
>>>>>    		dev_started : 1,   /**< Device state: STARTED(1) / STOPPED(0). */
>>>>> -		lro         : 1;   /**< RX LRO is ON(1) / OFF(0) */
>>>>> +		lro         : 1,  /**< RX LRO is ON(1) / OFF(0) */
>>>>> +		dev_configured : 1;
>>>>> +		/**< Device configuration state:
>>>>> +		 * CONFIGURED(1) / NOT CONFIGURED(0).
>>>>> +		 */
>>>> Why not using "enum rte_eth_dev_state"?
>>>> Because rte_eth_dev.state is not shared between processes?
>>> It doesn't feel right. "enum rte_eth_dev_state" is private to the
>>> primary and secondary processes and can be independently controlled.
>>>
>>> However, the secondary process does not make resource allocations and
>>> does not call dev_configure().
>>>
>>> These are done by the primary process and  can be obtained or used by
>>> the secondary process.
>>>
>>> Like "dev_started" in struct rte_eth_dev_data.
>> That's a good reason, thanks.
>>
> Please, send non-RFC version of the patch with fixed summary
> (w/o "lib/") and above reason mentioned in the patch
> description as well.
ok
> .


More information about the dev mailing list