> Actually, Dmitry and I are discussing IRQ sharing between
> real-time driver, not across the RT/non-RT border.

Sorry, I misunderstood.

> The latter case almost always a no-go and should rather be
> solved at hardware level by rearranging the IRQ usage (where
> possible...). The problem is that the non-RT IRQ handler has
> to be called just after the RT handler to make the non-RT
> hardware release the IRQ line. But this cannot be guaranteed
> due to other RT activity and creates an ugly priority
> inversion.
> That your system just crashes is likely due to the RT driver
> not being prepared to share IRQs with non-RT. What driver are
> you using?

RTnet's 8169 gigabit ethernet driver, and RTnet's tulip driver.

The problem, on common x86 hardware, is that with only one PCI 
bus and several devices (e.g. I use 4 PCI network cards drived 
by RTnet, in one PC), sharing IRQ seems unavoidable.
The only possible workaround on my test machine is to disable as 
much as I can (USB, sound, serial ports, non-rt ethernet cards, 
etc.) to avoid sharing.

Romain Lenglet

Xenomai-core mailing list

Reply via email to