All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai-core] [PATCH] Fix gatekeeper affinity
@ 2009-02-24 13:35 Jan Kiszka
  2009-02-24 13:51 ` Gilles Chanteperdrix
  2009-02-24 14:57 ` Philippe Gerum
  0 siblings, 2 replies; 7+ messages in thread
From: Jan Kiszka @ 2009-02-24 13:35 UTC (permalink / raw)
  To: xenomai-core

As the xnsched structures get initialized later, during xnpod_init,
xnsched_cpu always returned 0 in the gatekeeper_thread prologue. That
caused binding of all gatekeepers to CPU 0.

Signed-off-by: Jan Kiszka <jan.kiszka@domain.hid>
---

 ksrc/nucleus/shadow.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/ksrc/nucleus/shadow.c b/ksrc/nucleus/shadow.c
index 1dedd85..2243c0e 100644
--- a/ksrc/nucleus/shadow.c
+++ b/ksrc/nucleus/shadow.c
@@ -823,11 +823,14 @@ static int gatekeeper_thread(void *data)
 	struct task_struct *this_task = current;
 	DECLARE_WAITQUEUE(wait, this_task);
 	struct xnsched *sched = data;
-	int cpu = xnsched_cpu(sched);
 	struct xnthread *target;
 	cpumask_t cpumask;
+	int cpu;
 	spl_t s;
 
+	/* sched not fully initialized, xnsched_cpu does not work yet */
+	cpu = sched - nkpod_struct.sched;
+
 	this_task->flags |= PF_NOFREEZE;
 	sigfillset(&this_task->blocked);
 	cpumask = cpumask_of_cpu(cpu);


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2009-02-24 15:02 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-02-24 13:35 [Xenomai-core] [PATCH] Fix gatekeeper affinity Jan Kiszka
2009-02-24 13:51 ` Gilles Chanteperdrix
2009-02-24 13:57   ` Jan Kiszka
2009-02-24 14:09     ` Gilles Chanteperdrix
2009-02-24 14:20       ` Jan Kiszka
2009-02-24 15:02   ` Philippe Gerum
2009-02-24 14:57 ` 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.