Don Quixote de la Mancha <quixote@xxxxxxxxxxxxxxxx> wrote: > Do you know which drivers that are already (mostly) working, that > could use MSIs but don't? I wouldn't know off hand. You'd need to check the hardware for MSI support and then look at the drivers. Looking through the PCI dump on this machine there'd be HDA, the integrated graphics, AHCI, the two network adapters and xHCI. The network adapters use FreeBSD drivers, so they already do MSIs, xHCI isn't far enough along, but HDA and AHCI would be nice candidates. It's really not all that difficult to do. The basic driver architecture doesn't change at all, just the way the interrupt vector is determined and how the interrupt handler is eventually reached are different. > I could start just by collecting some statistics. If they were output > ... Don't overthink it. This is more in the order of a couple of minutes change. The handled stats are already kept by the interrupt code. Evaluating the list order after each X interrupts on that vector and just moving the linked list entries accordingly. In either case the code would be in src/system/kernel/int.cpp. Regards Michael