[dpdk-dev] [PATCH v2 2/3] net/af_xdp: support pinning of IRQs
Loftus, Ciara
ciara.loftus at intel.com
Mon Oct 21 12:04:15 CEST 2019
> > 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.
Hi,
Following this up with some performance data which shows the impact of no pinning.
The test case is N instances of testpmd macswap where N= the number of interfaces.
ifaces no pinning pinning
1 9059100 9171612
2 9261635 18376552
3 9332804 27696702
For the no-pinning case, all IRQs are landing on the default core 0, which results in very poor scaling versus the pinned case where scaling is linear.
Thanks,
Ciara
>
> 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
More information about the dev
mailing list