Hardware interrupt sharing is a bad thing, no matter how well drivers are written. Consider the flow the operating system takes when an interrupt occurs, and when devices are sharing hardware interrupts.
Let's take a USB port sharing an interrupt with a video card, wth the USB port having your flight controller on it.
1) The interrupt occurs from the sound card.
2) The operating system realizes there are multiple interrupt service routines that must be called. The order of the calling is arbitrary and assigned during initialization time.
3) Call the USB interrupt service routine. Now, if you have moved you stick the stick interrupt service routine says, "Oh my, I have an interrupt to service", without knowing that the actual interrupt was intended for the sound card.
4) The USB interrupt service route (ISR) does its thing, and returns.
5) The operating system calls the sound card ISV, now the sound card finally gets to service the original interrupt.
6) During the sound card ISR, you move your stick again. Well, the sound card is still in ins ISR, so your stick interrupt will have to wait.
Voila, stutter.
This is a very simplistic look at how interrupt sharing can effect your systems performance. I did not get into, ISR's that alway assume the interrupt is for them, nor into what happens when more than one interrupt has already occurred for the same device and has not been serviced.
It does not matter what operating system you run, sharing hardware interrupts will decrease system performance, can cause unreliable behaviour of a system, and, in general, is a very bad idea.
Know, this. When an operating system is in the middle of an ISR, no other operations will be done until that ISR is complete. ISR's cannot be interrupted, so the more devices you have sharing a hardware interrupt the more you system efficiency and performance will degrade. And that is the good news.
Incorrectly written ISR's that assume the interrupt will be for them, when they get called, can wreak all kinds of havoc on a system. And even when they are correctly written, they may execute a ton of code before determining the interrupt was not for them.
Hardware interrupt sharing bad.
------------------
Roy "Skuzzy" Neese
President, AppLink Corp.
http://www.applink.netskuzzy@applink.net