All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@domain.hid>
To: rpm@xenomai.org
Cc: xenomai@xenomai.org, Khalil GHORBAL <kg@domain.hid>
Subject: Re: [Xenomai-help] handling threads within a pod
Date: Mon, 17 Jul 2006 09:45:06 +0200	[thread overview]
Message-ID: <44BB4002.4030402@domain.hid> (raw)
In-Reply-To: <1152891036.5075.35.camel@domain.hid>

Philippe Gerum wrote:
> ...
> Then use the XNHELD bit which has been specifically added as a
> suspensive condition to handle temporal partitioning. This way, XNSUSP
> remains available for suspending processes forcibly within a partition
> (suspension bits are conjunctive). IOW, only the processes pertaining to
> the running partition will have the XNHELD bit cleared, others will have
> this bit set, and as such, suspended by the nucleus, which is what you
> want.
> 
> void deactivate_partition (struct ima380_partition *pt)
> {
> 	foreach(thread in pt->procq) {
> 		xnpod_suspend_thread(thread,XNHELD,XN_INFINITE,NULL);
> 	}
> }
> 
> void activate_partition (struct ima380_partition *pt)
> {
> 	foreach(thread in pt->procq) {
> 		xnpod_resume_thread(thread,XNHELD);
> 	}
> }

I wonder if there isn't the risk of mixing up the schedule inside the
partitions by suspending/resuming this way. I think the order of
resuming those threads that were ready before must match the original
order in the ready-queue at suspension time.

> 
> The partition slicer can be implemented as a simple periodic timer,
> whose handler activates existing partitions in a round-robin fashion.
> 
> FWIW, mimicking arinc653 over the nucleus is a no-brainer, so there's
> good hope for IMA380.
> 

Jan


  parent reply	other threads:[~2006-07-17  7:45 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-12 16:02 [Xenomai-help] handling threads within a pod Khalil GHORBAL
2006-07-12 16:23 ` Jan Kiszka
2006-07-13  8:41   ` Khalil GHORBAL
2006-07-13  9:11     ` Jan Kiszka
2006-07-14 15:30     ` Philippe Gerum
2006-07-14 15:58       ` Jan Kiszka
2006-07-14 19:04         ` Philippe Gerum
2006-07-17  7:45       ` Jan Kiszka [this message]
2006-07-17  8:04         ` 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=44BB4002.4030402@domain.hid \
    --to=jan.kiszka@domain.hid \
    --cc=kg@domain.hid \
    --cc=rpm@xenomai.org \
    --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.