* [Xenomai-core] cpu_set_t and friends undefined
@ 2006-07-29 9:58 Wolfgang Grandegger
2006-07-29 10:20 ` Jan Kiszka
0 siblings, 1 reply; 4+ messages in thread
From: Wolfgang Grandegger @ 2006-07-29 9:58 UTC (permalink / raw)
To: xenomai-core
Hello,
with todays SVN version of Xenomai, the testsuite program
switchtest/switch.c does not compile because cpu_set_t and friends
(CPU_SET, ...) are not undefined. I'm using kernel version 2.4.25.
Any idea what goes wrong. I haven't found where cpu_set_t is declared,
not even in Linux 2.4.17.7.
Thanks.
Wolfgang.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Xenomai-core] cpu_set_t and friends undefined
2006-07-29 9:58 [Xenomai-core] cpu_set_t and friends undefined Wolfgang Grandegger
@ 2006-07-29 10:20 ` Jan Kiszka
2006-07-29 11:44 ` Wolfgang Grandegger
0 siblings, 1 reply; 4+ messages in thread
From: Jan Kiszka @ 2006-07-29 10:20 UTC (permalink / raw)
To: Wolfgang Grandegger; +Cc: xenomai-core
[-- Attachment #1: Type: text/plain, Size: 538 bytes --]
Wolfgang Grandegger wrote:
> Hello,
>
> with todays SVN version of Xenomai, the testsuite program
> switchtest/switch.c does not compile because cpu_set_t and friends
> (CPU_SET, ...) are not undefined. I'm using kernel version 2.4.25.
>
> Any idea what goes wrong. I haven't found where cpu_set_t is declared,
> not even in Linux 2.4.17.7.
That's user-space stuff, in /usr/include/bits/sched.h on my box. Maybe
some #ifndef __cpu_set_t_defined + local definition is required here.
What glibc version do you use?
Jan
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 249 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Xenomai-core] cpu_set_t and friends undefined
2006-07-29 10:20 ` Jan Kiszka
@ 2006-07-29 11:44 ` Wolfgang Grandegger
2006-07-29 13:13 ` Gilles Chanteperdrix
0 siblings, 1 reply; 4+ messages in thread
From: Wolfgang Grandegger @ 2006-07-29 11:44 UTC (permalink / raw)
To: Jan Kiszka; +Cc: xenomai-core
[-- Attachment #1: Type: text/plain, Size: 1033 bytes --]
Jan Kiszka wrote:
> Wolfgang Grandegger wrote:
>> Hello,
>>
>> with todays SVN version of Xenomai, the testsuite program
>> switchtest/switch.c does not compile because cpu_set_t and friends
>> (CPU_SET, ...) are not undefined. I'm using kernel version 2.4.25.
>>
>> Any idea what goes wrong. I haven't found where cpu_set_t is declared,
>> not even in Linux 2.4.17.7.
>
> That's user-space stuff, in /usr/include/bits/sched.h on my box. Maybe
> some #ifndef __cpu_set_t_defined + local definition is required here.
> What glibc version do you use?
Ah, OK. The problem is with gcc version 3.3.3 (DENX ELDK 3.1.1 3.3.3-9),
which does not have cpu_set_t, indeed. The configure script already
deals with different implementations of setaffinity. The attached patch
fixes the problem. It removes CONFIG_SMP, which is not known to user
space applications anyhow. Well, it might get defined in
"src/include/xeno_config.h" somehow but I don't know how this could work
properly without knowing the configured kernel tree.
Wolfgang,
[-- Attachment #2: xenomai-switch.patch --]
[-- Type: text/x-patch, Size: 785 bytes --]
+ diff -u xenomai/src/testsuite/switchtest/switch.c.SMP xenomai/src/testsuite/switchtest/switch.c
--- xenomai/src/testsuite/switchtest/switch.c.SMP 2006-07-29 13:31:06.000000000 +0200
+++ xenomai/src/testsuite/switchtest/switch.c 2006-07-29 13:32:18.000000000 +0200
@@ -15,7 +15,6 @@
#include <asm/xenomai/fptest.h>
#include <rtdm/rttesting.h>
-#if CONFIG_SMP
#ifdef HAVE_RECENT_SETAFFINITY
#define smp_sched_setaffinity(pid,len,mask) sched_setaffinity(pid,len,mask)
#else /* !HAVE_RECENT_SETAFFINITY */
@@ -28,9 +27,6 @@
#define CPU_SET(n,set) do { *(set) |= (1 << n); } while(0)
#endif /* HAVE_OLD_SETAFFINITY */
#endif /* HAVE_RECENT_SETAFFINITY */
-#else /* !CONFIG_SMP */
-#define smp_sched_setaffinity(pid,len,mask) 0
-#endif /* !CONFIG_SMP */
struct cpu_tasks;
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Xenomai-core] cpu_set_t and friends undefined
2006-07-29 11:44 ` Wolfgang Grandegger
@ 2006-07-29 13:13 ` Gilles Chanteperdrix
0 siblings, 0 replies; 4+ messages in thread
From: Gilles Chanteperdrix @ 2006-07-29 13:13 UTC (permalink / raw)
To: Wolfgang Grandegger; +Cc: Jan Kiszka, xenomai-core
Wolfgang Grandegger wrote:
> Jan Kiszka wrote:
> > Wolfgang Grandegger wrote:
> >> Hello,
> >>
> >> with todays SVN version of Xenomai, the testsuite program
> >> switchtest/switch.c does not compile because cpu_set_t and friends
> >> (CPU_SET, ...) are not undefined. I'm using kernel version 2.4.25.
> >>
> >> Any idea what goes wrong. I haven't found where cpu_set_t is declared,
> >> not even in Linux 2.4.17.7.
> >
> > That's user-space stuff, in /usr/include/bits/sched.h on my box. Maybe
> > some #ifndef __cpu_set_t_defined + local definition is required here.
> > What glibc version do you use?
>
> Ah, OK. The problem is with gcc version 3.3.3 (DENX ELDK 3.1.1 3.3.3-9),
> which does not have cpu_set_t, indeed. The configure script already
> deals with different implementations of setaffinity. The attached patch
> fixes the problem. It removes CONFIG_SMP, which is not known to user
> space applications anyhow. Well, it might get defined in
> "src/include/xeno_config.h" somehow but I don't know how this could work
> properly without knowing the configured kernel tree.
The configure script has a --enable-smp option that set CONFIG_SMP in
xeno_config.h. sched_setaffinity is unneeded when not running over SMP
machine, so I thought it would be simpler to completely avoid
sched_setaffinity over UP machines.
The proper fix is to also define cpu_set_t when CONFIG_SMP is not set.
I will fix this.
--
Gilles Chanteperdrix.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2006-07-29 13:13 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-07-29 9:58 [Xenomai-core] cpu_set_t and friends undefined Wolfgang Grandegger
2006-07-29 10:20 ` Jan Kiszka
2006-07-29 11:44 ` Wolfgang Grandegger
2006-07-29 13:13 ` Gilles Chanteperdrix
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.