Hi,
I suppose, that's what happens.
__xeno_sys_init() (./ksrc/nucleus/module.c) which is module_init() and
when compiled in -> initcall()
calls xnarch_init() (./include/asm-i386/bits/init.h)
This one amongst other things does
...
#ifdef CONFIG_SMP
/* Make sure the init sequence is kept on the same CPU when
running as a module. */
set_cpus_allowed(current, cpumask_of_cpu(0));
#endif /* CONFIG_SMP */
In fact, "running as a module" seems to be a bit
misleading here. Then another macro should be used in addition,
MODULE or how it's called.
Now guess who is a "current" here? It's "init" (pid 0).
init() -> do_basic_setup() -> do_initcalls() -> ... ->
__xeno_sys_init() -> xnarch_init()
"init" is a first process to run and all the rest will inherit its
"cpus_allowed" field.
That's it.
--
Best regards,
Dmitry Adamushko
_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help