All of lore.kernel.org
 help / color / mirror / Atom feed
From: Philippe Gerum <rpm@xenomai.org>
To: Neugebauer Manfred <manfred.neugebauer@domain.hid>
Cc: adeos-main@gna.org
Subject: Re: [Adeos-main] Signalling virtual interrupts to higher priority domains
Date: Tue, 12 Oct 2004 22:59:31 +0200	[thread overview]
Message-ID: <1097614490.672.6.camel@domain.hid> (raw)
In-Reply-To: <B213B204A377E148A31BC71DE4955C9702EBD59F@nbgm346a.ww004.siemens.net>

On Mon, 2004-10-04 at 11:28, Neugebauer Manfred wrote:
> Hallo,
> 
> I'm using the Adeos nanokernel (2.6.8.1-i386-r7c2) within a project to
> implement a specific realtime environment embedded within Linux. I
> recognized the following problem sending virtual interrupts between Linux
> and my realtime domain (having a higher priority):
> 
> First I created a virtual interrupt in my realtime domain using
> adeos_alloc_irq() and adeos_virtualize_irq_from(). This worked fine. 
> 
> My first problem was to signal a virtual interrupt from the Linux domain.
> adeos_schedule_irq() and adeos_propagate_irq() seem to start from the
> current (or the next) domain to signal the interrupt to one domain down
> within the domain chain. Since my receiving domain has a higher priority
> than the Linux domain, no interrupts were signalled. I solved this problem
> by using the call __adeos_schedule_irq() with (&__adeos_pipeline)->next as
> starting point. An idea may be always to use __adoes_pipeline as a start
> point when applying adeos_schedule_irq().

> 
> The second problem appeared when I looked at the specific timing sequence
> between sending and receiving this interrupt. From my point of view it looks
> this way that the interrupt is only signaled to the interrupt array in the
> higher priority domain, but the domain is not started. This will be done
> later, when a different (hardware) interrupt or a software event forces the
> higher priority domain to be scheduled. This behavior is not in the way I
> expected: I prefered an immediate start of the higher priority domain.
> 

Use adeos_trigger_irq() to send interrupts to the head of the pipeline.
Linux will be preempted as you wish. propagate/schedule() are only used
to make the IRQ progress down the pipeline as you noticed, possibly
starting at the current stage if you want to log it and have it played
when the next sync occurs, or start with the next stage directly.

> I don't know whether this behavior is planned (or I do something wrong).
> Additional information is appreciated.
> 
> Manfred.
> 
> 
> 
> _______________________________________________
> Adeos-main mailing list
> Adeos-main@domain.hid
> https://mail.gna.org/listinfo/adeos-main
-- 

Philippe.



  reply	other threads:[~2004-10-12 20:59 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-04  9:28 [Adeos-main] Signalling virtual interrupts to higher priority domains Neugebauer Manfred
2004-10-12 20:59 ` Philippe Gerum [this message]
2004-10-19 13:10   ` [Adeos-main] __adeos_handle_event André Tousch
2004-10-19 14:37     ` Philippe Gerum
2004-10-19 14:43       ` Philippe Gerum
2004-12-10 10:05         ` [Adeos-main] End of interrupt scheduling Andre Tousch
2004-12-10 12:36           ` Michael Neuhauser
     [not found]             ` <41B9A304.6060101@domain.hid>
2004-12-10 13:52               ` Michael Neuhauser
2004-12-11 23:40             ` Philippe Gerum
2004-12-11 23:33           ` Philippe Gerum

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=1097614490.672.6.camel@domain.hid \
    --to=rpm@xenomai.org \
    --cc=adeos-main@gna.org \
    --cc=manfred.neugebauer@domain.hid \
    /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.