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
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core

Reply via email to