[dpdk-dev] [PATCH] ethdev: add field for device data per process

Ferruh Yigit ferruh.yigit at intel.com
Fri Oct 5 15:26:49 CEST 2018


On 10/5/2018 2:17 PM, Alejandro Lucero wrote:
> On Fri, Oct 5, 2018 at 2:01 PM Ferruh Yigit <ferruh.yigit at intel.com> wrote:
> 
>> On 10/3/2018 9:44 PM, Thomas Monjalon wrote:
>>> + Cc more people
>>>
>>> 27/09/2018 13:26, Alejandro Lucero:
>>>> Primary and secondary processes share a per-device private data. With
>>>> current design it is not possible to have data per-device per-process.
>>>> This is required for handling properly the CPP interface inside the NFP
>>>> PMD with multiprocess support.
>>>>
>>>> There is also at least another PMD driver, tap, with similar
>>>> requirements for per-process device data.
>>>
>>> Yes, it is required to fix tap PMD for multi-process usage.
>>>
>>> I am in favor of accepting this change in 18.11.
>>>
>>> [...]
>>>> @@ -539,7 +539,13 @@ struct rte_eth_dev {
>>>>      eth_rx_burst_t rx_pkt_burst; /**< Pointer to PMD receive function.
>> */
>>>>      eth_tx_burst_t tx_pkt_burst; /**< Pointer to PMD transmit
>> function. */
>>>>      eth_tx_prep_t tx_pkt_prepare; /**< Pointer to PMD transmit prepare
>> function. */
>>>> -    struct rte_eth_dev_data *data;  /**< Pointer to device data */
>>>> +    /**
>>>> +     * Next two fields are per-device data but *data is shared between
>>>
>>> All fields in rte_eth_dev are per-device.
>>>
>>>> +     * primary and secondary processes and *process_private is
>> per-process
>>>> +     * private.
>>>> +     */
>>>> +    struct rte_eth_dev_data *data;  /**< Pointer to device data. */
>>>> +    void *process_private; /**< Pointer to per-process device data. */
>>>
>>> We could explain here that this memory is allocated by the PMD.
>>
>> Will there be new version?
>>
>> Are we agree on name?
>>
>> Is LIBABIVER increase should be done in this patch, or will there be other
>> patch
>> already doing it?
>>
> 
> I'm not familiar with LIBABIVER but just tell me to send it again with that
> change if you consider that is the right thing to do.

ABI breakage process:
- Increase LIBABIVER in library Makefile/meson.build
- Update lib in release notes "Shared Library Versions" section, with a "+" to
  to indicate change
- Remove deprecation notice (seems not applies to this one)

Thomas mentioned there is another patch breaking the ABI for ethdev, I wonder
which patch will do the above process.

> About the name, I will let other to tell.
> 
> Thanks
> 



More information about the dev mailing list