[dpdk-dev] [PATCH v2 3/3] net/sfc: support multi-process
Ferruh Yigit
ferruh.yigit at intel.com
Mon May 22 14:54:28 CEST 2017
On 5/22/2017 1:44 PM, Andrew Rybchenko wrote:
> On 05/22/2017 03:36 PM, Ferruh Yigit wrote:
>> On 5/22/2017 1:07 PM, Andrew Rybchenko wrote:
>>> On 05/22/2017 02:29 PM, Ferruh Yigit wrote:
>>>> On 5/18/2017 3:00 PM, Andrew Rybchenko wrote:
>>>>> Signed-off-by: Andrew Rybchenko <arybchenko at solarflare.com>
>>>>> Reviewed-by: Andy Moreton <amoreton at solarflare.com>
>>>> <...>
>>>>
>>>>> diff --git a/drivers/net/sfc/sfc_ef10_rx.c b/drivers/net/sfc/sfc_ef10_rx.c
>>>>> index 1484bab..60812cb 100644
>>>>> --- a/drivers/net/sfc/sfc_ef10_rx.c
>>>>> +++ b/drivers/net/sfc/sfc_ef10_rx.c
>>>>> @@ -699,7 +699,7 @@ struct sfc_dp_rx sfc_ef10_rx = {
>>>>> .type = SFC_DP_RX,
>>>>> .hw_fw_caps = SFC_DP_HW_FW_CAP_EF10,
>>>>> },
>>>>> - .features = 0,
>>>>> + .features = SFC_DP_RX_FEAT_MULTI_PROCESS,
>>>> Why this flag is needed, I mean why multi process support is not always
>>>> enabled by default?
>>> libefx-based datapath intensively uses function pointers (primary
>>> process function pointers stored in data structures). So, it does not
>>> work in multi process.
>> But this currently added always, if I don't miss anything. And only
>> checked once in secondary path and error returned if not set.
>>
>> Is there any code path that behaves different based on this flag? Or any
>> case that this flags shouldn't be set?
>
> sfc_efx_rx (and sfc_efx_tx) does not have the flag.
Got it, thanks.
>
>> What happens if this flag removed, and assumed it is always set? (this
>> and tx version of this flag)
>
> Init in the secondary process fails if datapath chosen by the primary
> process does not have the flag.
>
>>>> <...>
>
>
More information about the dev
mailing list