Re: [RFC V2 1/2] irq: Add a framework to measure interrupt timings

From: Daniel Lezcano
Date: Thu Jan 21 2016 - 07:38:12 EST


On 01/21/2016 11:08 AM, Peter Zijlstra wrote:
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.

Yep, that's correct. I was planning to re-work it later by handling the shared interrupts, assuming they were not so common, but regarding the examples below, that's wrong.

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.

Ah, I see. Thank you very much for these examples.

Sounds like, I have to handle the shared interrupts sooner than what I was expecting ... :)

-- Daniel



--
<http://www.linaro.org/> Linaro.org â Open source software for ARM SoCs

Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog