Hoi,

  I noticed that when using the native skin, starting an application with
"taskset 2 <my_app>" does not put the application on processor 2.  Diving into
the code, it turns out that calling rt_task_shadow() throws away the thread's
cpuset, and also rt_task_create() looks only at the mode parameter and ignores
the parent thread's affinity.

  Is this intentional?  If yes, that means that using the native skin, there
is no way to set a task's affinity except explicitly specifying T_CPU when
the task is started, right?

  Note, by the way, that calling sched_setaffinity _after_ the task has started
_will_ change the affinity (cfr. switchtest), but any calls _before_ the task
has started are ignored.

  If it is not intentional, I think the attached patch solves the problem.

  Regards,
  Arnout
--
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
-------------- next part --------------
A non-text attachment was scrubbed...
Name: xenomai-affinity.patch
Type: text/x-patch
Size: 706 bytes
Desc: not available
URL: 
<http://www.xenomai.org/pipermail/xenomai/attachments/20121017/45d52a61/attachment.bin>
_______________________________________________
Xenomai mailing list
[email protected]
http://www.xenomai.org/mailman/listinfo/xenomai

Reply via email to