Re: [PATCH] sysfs: add per pci device msi[x] irq listing (v3)

Neil Horman
2011-09-22T10:57:15Z

On Thu, Sep 22, 2011 at 06:49:02AM -0400, Konrad Rzeszutek Wilk wrote:
> On Mon, Sep 19, 2011 at 11:47:15AM -0400, Neil Horman wrote:
> > So a while back, I wanted to provide a way for irqbalance (and other apps) to
> > definitively map irqs to devices, which, for msi[x] irqs is currently not really
> > possible in user space. My first attempt wen't not so well:
> > https://lkml.org/lkml/2011/4/21/308
> >
> > It was plauged by the same issues that prior attempts were, namely that it
> > violated the one-file-one-value sysfs rule. I wandered off but have recently
> > come back to this. I've got a new implementation here that exports a new
> > subdirectory for every pci device, called msi_irqs. This subdirectory contanis
> > a variable number of numbered subdirectories, in which the number represents an
> > msi irq. Each numbered subdirectory contains attributes for that irq, which
> > currently is only the mode it is operating in (msi vs. msix). I think fits
> > within the constraints sysfs requires, and will allow irqbalance to properly map
> > msi irqs to devices without having to rely on rickety, best guess methods like
> > interface name matching.
>
> Are there irqbalance patches that correspond to this? Where would they be available?
>
I've got them here locally, shemminger and I are testing them out, when I'm comfortable with
them, I'll be comitting them to the public repository at code.google.com

Note, the changes to support this kernel update in irqbalance is also comming
with a major gutting that I'm doing of the daemon. Things like making workload
bias adjustments based on packets received per interface, since theres no
guaranteed 1:1 correlation between network interfaces and irqs. The point being
that while irq identification will definately be fixed, you might notice other
behavioral differences that we may or may not want to address. Bug reports
would be greatly appreciated at the project site.

Thanks!
Neil