Jan Kiszka wrote:
> Gilles Chanteperdrix wrote:
>> Jan Kiszka wrote:
>>> Jan Kiszka wrote:
>>>> Gilles Chanteperdrix wrote:
>>>>> Jan Kiszka wrote:
>>>>>> Gilles Chanteperdrix wrote:
>>>>>>> Jan Kiszka wrote:
>>>>>>>> Andreas Glatz wrote:
>>>>>>>>> Hi Philippe,
>>>>>>>>>
>>>>>>>>> At the Xenomai Users Meeting last year I asked you if Xenomai would 
>>>>>>>>> offer a possibility to lower the priority of certain Xenomai tasks 
>>>>>>>>> below that of Linux. We need this feature since we have tasks in our 
>>>>>>>>> RT application which should only run when Linux is idle (A statistics 
>>>>>>>>> collection task which part of the RT application and hard to isolate 
>>>>>>>>> from this application).
>>>>>>>>>
>>>>>>>> What prevents using a borderline thread (if you need to interact with
>>>>>>>> blocking Xenomai services) with SCHED_OTHER and a Linux nice level of 
>>>>>>>> 19?
>>>>>>> Well, this does not really guarantee that the thread will run only when
>>>>>>> linux is idle. The thread will eat some cpu time, the nice level is not
>>>>>>> a strict priority, as you know.
>>>>>> Where do you really need anything stricter? It's the opposite of "I need
>>>>>> true 100% CPU for my task, and that forever."
>>>>>>
>>>>>>> But in fact, I wonder why Andreas wants
>>>>>>> a new scheduling policy for xenomai, what is needed, is simply a
>>>>>>> SCHED_IDLE (maybe it exists ?!) policy for Linux.
>>>>>>>
>>>>>> There is no such thing AFAIK. If you are concerned that some CPU
>>>>>> intensive low prio job eats too much CPU, you normally reduce its
>>>>>> nice-level and/or confine its CPU bandwidth via cgroups.
>>>>> SCHED_IDLE exists.
>>>>>
>>>> Ah, as "nice 20". Same mechanism, just another level.
>>>>
>>> ...and before trying something else:
>>>
>>> "SCHED_IDLE: This is even weaker than nice 19, but its not a true
>>> idle timer scheduler in order to avoid to get into priority
>>> inversion problems which would deadlock the machine."
>> Mmmm, priority inversion? I thought the kernel had priority inheritance?
>>
> 
> I do not recall the details, but I don't think non-RT priorities are
> inherited. Moreover, user space locks without explicit inheritance set
> (ie. the majority of locks) would still cause deadlocks, though not for
> the kernel.

Well, of course. If a non real-time task shares a lock with a real-time
task, it has to have priority inheritance anyway. However
SCHED_IDLE/SCHED_OTHER/whatever is implemented.


-- 
                                            Gilles.

_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help

Reply via email to