> -----Original Message-----
> From: Stephen Hemminger <step...@networkplumber.org>
> Sent: Monday 30 September 2019 18:12
> To: Loftus, Ciara <ciara.lof...@intel.com>
> Cc: dev@dpdk.org; Ye, Xiaolong <xiaolong...@intel.com>; Laatz, Kevin
> <kevin.la...@intel.com>; Richardson, Bruce <bruce.richard...@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.lof...@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

Reply via email to