All of lore.kernel.org
 help / color / mirror / Atom feed
From: Philippe Gerum <rpm@xenomai.org>
To: Markus Seemann <International-Asso@domain.hid>
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai-help] Deadlock with interrupt shield activated / Avoid mode switches at compile time
Date: Sat, 31 Jul 2010 12:35:04 +0200	[thread overview]
Message-ID: <1280572504.2092.15.camel@domain.hid> (raw)
In-Reply-To: <638179785.1790459.1280306472842.JavaMail.fmail@domain.hid>

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.




      parent reply	other threads:[~2010-07-31 10:35 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1280572504.2092.15.camel@domain.hid \
    --to=rpm@xenomai.org \
    --cc=International-Asso@domain.hid \
    --cc=xenomai@xenomai.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.