* [Xenomai-help] Deadlock with interrupt shield activated / Avoid mode switches at compile time
@ 2010-07-28 8:41 Markus Seemann
2010-07-28 8:50 ` Gilles Chanteperdrix
2010-07-31 10:35 ` Philippe Gerum
0 siblings, 2 replies; 3+ messages in thread
From: Markus Seemann @ 2010-07-28 8:41 UTC (permalink / raw)
To: xenomai
Hello,
a more theoretical question:
Is it possible to provocate a deadlock while switching a RTTask from primary mode to secondary mode when the interrupt shield is activated?
Perhaps with this kind of scenario:
- linux process takes semaphore
- RTTask switches to secondary mode and also tries to take this semaphore
- The semaphore would be released in ISR context of the linux kernel. But the interrupt shield prevents the execution of this isr.
How realistic is this scenario?
Another question:
Is it possible to avoid mode switches for realtime tasks at compile time for a specific task?
Thanks in advance,
Markus
___________________________________________________________
Neu: WEB.DE De-Mail - Einfach wie E-Mail, sicher wie ein Brief!
Jetzt De-Mail-Adresse reservieren: https://produkte.web.de/go/demail02
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Xenomai-help] Deadlock with interrupt shield activated / Avoid mode switches at compile time
2010-07-28 8:41 [Xenomai-help] Deadlock with interrupt shield activated / Avoid mode switches at compile time Markus Seemann
@ 2010-07-28 8:50 ` Gilles Chanteperdrix
2010-07-31 10:35 ` Philippe Gerum
1 sibling, 0 replies; 3+ messages in thread
From: Gilles Chanteperdrix @ 2010-07-28 8:50 UTC (permalink / raw)
To: Markus Seemann; +Cc: xenomai
Markus Seemann wrote:
> Hello,
>
> a more theoretical question:
>
> Is it possible to provocate a deadlock while switching a RTTask from
> primary mode to secondary mode when the interrupt shield is
> activated? Perhaps with this kind of scenario: - linux process takes
> semaphore - RTTask switches to secondary mode and also tries to take
> this semaphore - The semaphore would be released in ISR context of
> the linux kernel. But the interrupt shield prevents the execution of
> this isr.
>
> How realistic is this scenario?
Does not look very realistic, but it is possible. Anyway, the interrupt
shield no longer exists in Xenomai 2.5.
>
>
> Another question: Is it possible to avoid mode switches for realtime
> tasks at compile time for a specific task?
No. But we provide a way to detect and act upon them at run-time.
When a switch to secondary mode happens, it is necessary to get the task
to continue running, so, the only way to handle such situation would be
to destroy the task in need for a switch to secondary mode.
--
Gilles.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Xenomai-help] Deadlock with interrupt shield activated / Avoid mode switches at compile time
2010-07-28 8:41 [Xenomai-help] Deadlock with interrupt shield activated / Avoid mode switches at compile time Markus Seemann
2010-07-28 8:50 ` Gilles Chanteperdrix
@ 2010-07-31 10:35 ` Philippe Gerum
1 sibling, 0 replies; 3+ messages in thread
From: Philippe Gerum @ 2010-07-31 10:35 UTC (permalink / raw)
To: Markus Seemann; +Cc: xenomai
On Wed, 2010-07-28 at 10:41 +0200, Markus Seemann wrote:
> Hello,
>
> a more theoretical question:
>
> Is it possible to provocate a deadlock while switching a RTTask from primary mode to secondary mode when the interrupt shield is activated?
> Perhaps with this kind of scenario:
> - linux process takes semaphore
> - RTTask switches to secondary mode and also tries to take this semaphore
> - The semaphore would be released in ISR context of the linux kernel. But the interrupt shield prevents the execution of this isr.
>
> How realistic is this scenario?
The I-shield would be disengaged as soon as a non-Xenomai thread is
scheduled in, resuming the linux ISR flow. So unless the CPU remains
100% busy to process Xenomai threads either in primary or secondary mode
- which would be the first problem to solve - this can't happen (the RT
task for one would block, pending on the semaphore, creating an
opportunity for non-RT threads to resume).
This is not to say that the I-shield might not bring other tricky
issue(s) in, but this one is not possible by design.
>
>
> Another question:
> Is it possible to avoid mode switches for realtime tasks at compile time for a specific task?
>
Avoiding a priori would mean to deny compilation when a code path which
may lead to a linux syscall is detected; not quite simple to implement
for userland apps given otherwise valid dependencies on the glibc
Xenomai may have (e.g. for creating threads).
> Thanks in advance,
> Markus
> ___________________________________________________________
> Neu: WEB.DE De-Mail - Einfach wie E-Mail, sicher wie ein Brief!
> Jetzt De-Mail-Adresse reservieren: https://produkte.web.de/go/demail02
>
> _______________________________________________
> Xenomai-help mailing list
> Xenomai-help@domain.hid
> https://mail.gna.org/listinfo/xenomai-help
--
Philippe.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2010-07-31 10:35 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-28 8:41 [Xenomai-help] Deadlock with interrupt shield activated / Avoid mode switches at compile time Markus Seemann
2010-07-28 8:50 ` Gilles Chanteperdrix
2010-07-31 10:35 ` Philippe Gerum
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.