Re: [RFC V2 1/2] irq: Add a framework to measure interrupt timings
From: Peter Zijlstra <peterz@infradead.org>
Date: 2016-01-21 10:08:41
Also in:
lkml
On Thu, Jan 21, 2016 at 10:50:27AM +0100, Daniel Lezcano wrote:
Actually, the handle passes dev_id in order to let the irqtimings to sort out a shared interrupt and prevent double sampling. In other words, for shared interrupts, statistics should be per t-uple(irq , dev_id) but that is something I did not implemented ATM. IMO, the handler is at the right place. The prediction code does not take care of the shared interrupts yet.
That certainly added to the confusion. But if you want per dev_id stats, the whole alloc framework is 'broken' too, for it allocates the stuff per irq.
I tried to find a platform with shared interrupts in the ones I have available around me but I did not find any. Are the shared interrupts something used nowadays or coming from legacy hardware ? What is the priority to handle the shared interrupts in the prediction code ?
They're less common (thankfully) than they used to be, but I still have them: root@ivb-ep:~# cat /proc/interrupts | grep "," 59: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IO-APIC 5-fasteoi i801_smbus, i801_smbus root@wsm-ep:~# cat /proc/interrupts | grep "," 18: 0 0 0 0 0 0 0 0 0 0 0 0 IO-APIC 18-fasteoi ehci_hcd:usb1, uhci_hcd:usb6 19: 9695230 19577242 13205011 3970578 740376 1138693 0 0 0 0 0 0 IO-APIC 19-fasteoi uhci_hcd:usb5, ata_piix 23: 3 0 0 0 927 0 0 0 0 0 0 0 IO-APIC 23-fasteoi ehci_hcd:usb2, uhci_hcd:usb4 root@snb:~# cat /proc/interrupts | grep "," 19: 11058485 0 0 0 0 0 0 0 IO-APIC 19-fasteoi ata_piix, ata_piix Also there's a whole host of SOCs that has them.