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
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Xenomai-help mailing list [email protected] https://mail.gna.org/listinfo/xenomai-help
