On 10/17/2012 06:33 PM, Arnout Vandecappelle wrote:
> On 17/10/12 15:10, Gilles Chanteperdrix wrote:
>> On 10/17/2012 03:02 PM, Arnout Vandecappelle wrote:
>>> On 17/10/12 14:32, Gilles Chanteperdrix wrote:
>>>> On 10/17/2012 01:28 PM, Arnout Vandecappelle wrote:
> [snip]
>>>>> and also rt_task_create() looks only at the mode parameter and ignores
>>>>> the parent thread's affinity.
>>>>
>>>> That does not look like an issue. Why should a task inherit its parent's
>>>> affinity.
>>>
>>> I don't know if it should - it's not specified in the documentation. But
>>> it is how posix threads behave.
>>
>> Ok. That is an argument. But if an affinity is specified by the mode
>> argument, it should override the parent's affinity.
>
> OK. Would you like me to refresh my patch?
Yes, please.
>
>
> [snip]
>>>>> 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.
>>>>
>>>> Well, if the thread is not created, how sched_setaffinity change its
>>>> affinity?
>>>
>>> The (shadow) thread is created, but with a different cpuset than the
>>> Linux thread. Or rather, the cpuset is changed by shadowing the thread.
>>
>> Ok, misunderstanding again, for me, when you say "before the task has
>> started" clearly means that you are talking about a task created with
>> rt_task_create.
>
> Yes, that's what I mean.
>
> When you do:
>
> CPU_SET(1, &cpuset);
> sched_setaffinity(0, sizeof(cpuset), &cpuset);
> rt_task_shadow(&task, "test", 99, 0);
>
> then rt_task_shadow will migrate the thread from cpu 1 to cpu 0,
> so it migrates twice overall (assuming Linux had started it on cpu 0).
>
> When you do:
>
> rt_task_shadow(&task, "test", 99, 0);
> CPU_SET(1, &cpuset);
> sched_setaffinity(0, sizeof(cpuset), &cpuset);
>
> then sched_setaffinity will migrate the thread from cpu 0 to cpu 1.
>
> My point was that it seems inconsistent that it makes a difference
> in which order you shadow the task and you specify which cpu it should
> run on.
Yes, I got it, we need to fix that too.
Regards.
--
Gilles.
_______________________________________________
Xenomai mailing list
[email protected]
http://www.xenomai.org/mailman/listinfo/xenomai