Re: [PATCH v3] genirq: Machine-parsable version of /proc/interrupts

From: Randy Dunlap
Date: Thu Sep 08 2016 - 18:00:59 EST


On 09/08/16 13:25, Craig Gallek wrote:
> From: Craig Gallek <kraig@xxxxxxxxxx>
>
> Add struct kobject to struct irq_desc to allow for easy export
> to sysfs. This allows for much simpler userspace-parsing of
> the information contained in struct irq_desc.
>
> Note that sysfs is not available at the time of early irq initialization.
> These interrupts are accounted for using a postcore_initcall callback.
>
> Examples:
> /sys/kernel/irq/18/actions: i801_smbus,ehci_hcd:usb1,uhci_hcd:usb7
> /sys/kernel/irq/18/chip_name: IR-IO-APIC
> /sys/kernel/irq/18/hwirq: 18
> /sys/kernel/irq/18/name: fasteoi
> /sys/kernel/irq/18/per_cpu_count: 0,0
> /sys/kernel/irq/18/type: level
>
> /sys/kernel/irq/25/actions: ahci0
> /sys/kernel/irq/25/chip_name: IR-PCI-MSI
> /sys/kernel/irq/25/hwirq: 512000
> /sys/kernel/irq/25/name: edge
> /sys/kernel/irq/25/per_cpu_count: 29036,0
> /sys/kernel/irq/25/type: edge

Thanks for the update.

One concern:

This per_cpu_count is for online CPUs only.
How does this help when the online CPUs change?

E.g., above could be for CPUs 1 and 5.
The next time that it is read it could be for CPUs 0 and 3.
Seems that it could be confusing even for software reading it.


--
~Randy