All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
To: Jan Kiszka <jan.kiszka@domain.hid>
Cc: xenomai@xenomai.org, "RAKOTOSALAMA,
	Nirilanto" <NIRILANTO.RAKOTOSALAMA@airbus.com>
Subject: Re: [Xenomai-help] [Newbie question] threads and task CPU affinity
Date: Thu, 31 May 2007 16:36:14 +0200	[thread overview]
Message-ID: <465EDD5E.6080100@domain.hid> (raw)
In-Reply-To: <465EDB8B.8010507@domain.hid>

Jan Kiszka wrote:
> Gilles Chanteperdrix wrote:
> 
>>Jan Kiszka wrote:
>>
>>>RAKOTOSALAMA, Nirilanto wrote:
>>>
>>>
>>>>Hi,
>>>>
>>>>I'm still blocked on a CPU affinity problem.
>>>>In order to adapt a set affinity function which is based on
>>>>posix linux lib :
>>>>- CPU_AssignPID(uint32 PID, uint32 CPU_id)
>>>>- the cpu affinity of the caller and all its child threads must be set to CPU_id.
>>>>
>>>>Problems are:
>>>>Child PIDs must be listed, the only means I found is listing pids using `ls /proc/"Parent pid"/ > temp_file`
>>>>And each listed pid is sched_setaffinity'ed.
>>>>I don't know if setting affinity of RT threads from an other thread (parent) using pid works with xenomai.
>>>
>>>It works in so far as the Xenomai thread will not change its CPU until
>>>it enters secondary mode. Moreover, there is no explicit "hey, RT thread
>>>x, go to CPU #n!" under the POSIX skin. Migration always go through
>>>secondary mode.
>>
>>Let's repeat it, rephrased, once again: what works with Linux regarding
>>CPU affinity also works with Xenomai.
> 
> 
> To my understanding, there is difference in the behaviour of
> sched_setaffinity() when used on a foreign pid/tid depending on if the
> target is a Xenomai thread in primary mode or if it is a Linux thread,
> no? If this matters in practice, that's a different question (I don't
> think it does, for the reasons given earlier).

True. What we would need is an I-pipe event generated when setting the
affinity of a thread which has the PF_EVNOTIFY flag, we would handle
this event in shadow.c by calling xnpod_migrate_thread. But we need an
asynchronous event to be posted to the thread, for the case when we do
not migrate the current thread.

-- 
                                                 Gilles Chanteperdrix


  reply	other threads:[~2007-05-31 14:36 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-31 13:08 [Xenomai-help] [Newbie question] threads and task CPU affinity RAKOTOSALAMA, Nirilanto
2007-05-31 13:29 ` Gilles Chanteperdrix
2007-05-31 13:32 ` Jan Kiszka
2007-05-31 14:18   ` Gilles Chanteperdrix
2007-05-31 14:28     ` Jan Kiszka
2007-05-31 14:36       ` Gilles Chanteperdrix [this message]
2007-05-31 13:36 ` Gilles Chanteperdrix
2007-05-31 14:28 ` Philippe Gerum
  -- strict thread matches above, loose matches on Subject: below --
2007-06-01  8:36 RAKOTOSALAMA, Nirilanto
2007-05-31 15:48 RAKOTOSALAMA, Nirilanto
2007-05-31 15:48 RAKOTOSALAMA, Nirilanto
2007-05-24 10:12 RAKOTOSALAMA, Nirilanto
2007-05-24 12:07 ` Jan Kiszka
2007-05-24 12:28   ` Gilles Chanteperdrix
2007-05-23  8:47 RAKOTOSALAMA, Nirilanto
2007-05-24  7:53 ` Jan Kiszka
2007-05-22 14:51 RAKOTOSALAMA, Nirilanto
2007-05-22 16:59 ` Jan Kiszka

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=465EDD5E.6080100@domain.hid \
    --to=gilles.chanteperdrix@xenomai.org \
    --cc=NIRILANTO.RAKOTOSALAMA@airbus.com \
    --cc=jan.kiszka@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.