Gilles Chanteperdrix wrote:
> 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.

Yes, but the deadlock concerns are mostly about non-RT tasks sharing
locks (e.g. in-kernel mutexes).

Jan


Attachment: signature.asc
Description: OpenPGP digital signature

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

Reply via email to