[dpdk-dev] [PATCH v2 2/3] net/af_xdp: support pinning of IRQs

Ray Kinsella mdr at ashroe.eu
Tue Oct 15 13:14:52 CEST 2019



On 03/10/2019 14:23, Loftus, Ciara wrote:
> 
> 
>> -----Original Message-----
>> From: Stephen Hemminger <stephen at networkplumber.org>
>> Sent: Monday 30 September 2019 18:12
>> To: Loftus, Ciara <ciara.loftus at intel.com>
>> Cc: dev at dpdk.org; Ye, Xiaolong <xiaolong.ye at intel.com>; Laatz, Kevin
>> <kevin.laatz at intel.com>; Richardson, Bruce <bruce.richardson at intel.com>
>> Subject: Re: [dpdk-dev] [PATCH v2 2/3] net/af_xdp: support pinning of IRQs
>>
>> On Mon, 30 Sep 2019 16:42:04 +0000
>> Ciara Loftus <ciara.loftus at intel.com> wrote:
>>
>>> +/* drivers supported for the queue_irq option */
>>> +enum supported_drivers {
>>> +	I40E_DRIVER,
>>> +	IXGBE_DRIVER,
>>> +	MLX5_DRIVER,
>>> +	NUM_DRIVERS
>>> +};
>>
>> Anything device specific like this raises a red flag to me.
>>
>> This regex etc, seems like a huge hack. Is there a better way  using
>> irqbalance and smp_affinity in kernel drivers?
>>
>> NACK
> 
> Hi Stephen,
>  
> Thanks for looking at the patch. I understand your concern however unfortunately I haven't been able to identify a way to achieve the desired outcome by using your suggestions of irqbalance and smp_affinity. Did you have something specific in mind or are aware of any generic way of retrieving interrupt numbers for NICs regardless of vendor or range?
>  
> I think this feature is really important for the usability of this PMD. Without it, to configure the IRQs the user has to open up /proc/interrupts, trawl through it and identify the correct IRQ number for their given NIC and qid (the format for which is unlikely to be known off-hand), and manually pin them by writing the appropriate values in the appropriate format to the appropriate file - prone to error if not automated IMO.
> If the user fails to set the affinity it's probably fine for a single pmd, however with multiple pmds all irqs will by default land on core 0 and lead to terrible performance.
> 
> It should be possible to rework the code to remove the regexes and use a direct string compare. Would that make the solution more palatable?
>  
> Let me know what you think.
>  
> Thanks,
> Ciara
> 

Assuming there is no easier way to co-relate an ethernet device with an interrupt, to make the strcmp's go away. My preference is for DPDK to take care of it's rqmts - even in a less-that-ideal way, in preference to asking a user to figure it out. 

Ray K



More information about the dev mailing list