* [Xenomai-core] Enabling classic MSI for real-time domains
@ 2010-10-25 16:12 Jan Kiszka
0 siblings, 0 replies; only message in thread
From: Jan Kiszka @ 2010-10-25 16:12 UTC (permalink / raw)
To: adeos-main, Xenomai core
Hi,
for the past days, I had a look at the issue of classic MSIs (ie. not
MSI-X) under non-Linux I-pipe domains. Actually, the path that matters
most, IRQ delivery, is perfectly OK as is: just a simple ack on the APIC
and a NOP on completion.
Problematic are IRQ enable/disable (which automatically includes
setup/cleanup) and affinity updates. The point is that we specified at
least the first two services to be usable from RT context as well.
That's a nice-to-have with fast IRQ chips, but its a nightmare with
others. Classic MSI belongs to the latter category.
So we basically have two main options now, each having two variants:
1) disallow IRQ enabled/disable over non-root contexts
1a) confine this to certain IRQs like MSI or
1b) make it a generic API property
2) provide ipipe_irq_mask/unmask services and use them in Xenomai
2a) for MSI, either to map them on a software mask or
2b) to map them on MSI-specific services that bypass the ordinary
[un]mask_msi_irq and use hardened ones (*)
I would prefer to go for the cheaper option 1), probably 1a) as we have
non-MSI users out there that do disable/enable trickery from RT
contexts. Unfortunately, also 1a) will require some new interface
between I-pipe and Xenomai to inform the user about the limited
usability of enable/disable and likely even enforce it at Xenomai level.
Comments, ideas?
Jan
(*) Previously posted patches to address the MSI issue by hardening both
pci_config_lock and pci_lock likely failed as the latter is of too broad
scope, including wake_up_all.
--
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2010-10-25 16:12 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-25 16:12 [Xenomai-core] Enabling classic MSI for real-time domains Jan Kiszka
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.