> > 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.
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