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.