Wednesday, August 11, 2010

msi, msix basic idea

1.legacy system motherboards have the pci interrupt lines hardwired to cpu's in 1 to 1 manner in a SMP system
2.so if a device was allocated INT A line its interrupt would endup on proc 1
3.though the interrupt post processing can happen on any proc x because of DPC
4.msi,msi-x provides mechanism to dynamically decide the destination of an interrupt
5.there is a junction to which the interrupts are routed and where it is decided upon the cpu on which it will end
6. the whole process is transparent to the software
7. in this method additional pre specified context informations can also be specified with the interrupt

8. earlier interrupt handler used to take device_object as the incoming parameter
9. now it will be possible to associate context parameter to different interrupt lines , so that
for that line you will get a corresponding context
10.for eg assume that we have 6 receive queues, that have been programmed to transfer interrupts to 3 lines
11. so every time data comes to a receive queue, interrupt handler with corresponding queue context or device object with a queue number as parameter will be called.

No comments:

Post a Comment