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

Bruce Richardson bruce.richardson at intel.com
Mon Oct 14 16:43:08 CEST 2019


On Thu, Oct 03, 2019 at 02:23:07PM +0100, 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?
>  

Hi Ciara, Stephen,

is there any way forward on this patch?

>From my experience with using AF_XDP the pinning of interrupts is both
necessary for performance and sadly rather awkward to implement in
practice. If we can't find a better way to do this, I think merging this
patch is the best thing to do. It may be a bit messy, but the overall user
experience should be far improved over not having it.

Regards,
/Bruce


More information about the dev mailing list