On 09/18/2011 05:24 PM, Jan Kiszka wrote:
> On 2011-09-18 17:18, Gilles Chanteperdrix wrote:
>> What about:
>>
>> diff --git a/ksrc/nucleus/shadow.c b/ksrc/nucleus/shadow.c
>> index 21cc191..7fe44a1 100644
>> --- a/ksrc/nucleus/shadow.c
>> +++ b/ksrc/nucleus/shadow.c
>> @@ -2756,9 +2756,12 @@ static inline void do_setsched_event(struct
>> task_struct *p, int priority)
>> union xnsched_policy_param param;
>> struct xnsched *sched;
>>
>> - if (!thread || p->policy != SCHED_FIFO)
>> + if (!thread || (p->policy != SCHED_FIFO && p->policy != SCHED_OTHER))
>> return;
>>
>> + if (p->policy == SCHED_OTHER)
>> + priority = 0;
>> +
>> /*
>> * Linux's priority scale is a subset of the core pod's
>> * priority scale, so there is no need to bound the priority
>
> No other policies can be issued against the Linux part of a shadow? Then
> it's OK. I just don't recall the details here ATM.
>
> Jan
>
This should be OK, according to the comment:
* BIG FAT WARNING: Change of scheduling parameters from the
* Linux side are propagated only to threads that belong to
* the Xenomai RT scheduling class. Threads from other classes
* are remain unaffected, since we could not map this
* information 1:1 between Linux and Xenomai.
*/
--
Gilles.
_______________________________________________
Xenomai-core mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-core