Re: SCHED_DEADLINE as user

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

+cc-ing Alessio, who has been working on this just recently on Android (will tell more answering on a different msg).

On 20/08/2018 18:45, Tim Blechmann wrote:
the mach API also has this notion of "period == 0", but apart from that it's quite similar.

in terms of API, XNU time constrained threads look like DEADLINE, however in terms of kernel behavior/implementation behind that, it's something completely different: last time I had a glance at this, it was .... ehm .... probably just during that old Linux Audio Conference (LAC) back in 2011, where the take away was: 1) in the kernel there's nothing like the CBS or deadline-based scheduling, but just a heuristic boosting a bit more those tasks, accompanied by usual heuristics to de-boost in case the task becomes CPU-intensive (similar to CFS heuristics for interactive-vs-batch); 2) the only user of that API seemed to be some sound daemon on OS-X, that had an almost random value set as "runtime", accompanied by a comment "this just works" ;-P

But, it was long ago, if anyone has a pointer to what XNU does with time constrained threads in these days....

apart from that, i'm only missing two features:

* using SCHED_DEADLINE from user applications is kind of a showstopper
for me

unprivileged tasks using DEADLINE remained a request for quite a long time -- that old single-processor implementation (AQuoSA) we used long ago with JACK had such a feature, that was implementing this model:

  http://retis.sssup.it/~tommaso/papers/rtas08.php

the criticality for DEADLINE is that those tasks preempt RT99 ones, so even with controlled runtime/deadline boundaries....
* a nicer glibc wrapper, that allows me to use pthreads rather than
using `syscall`: it's all pretty easy to obtain the `tid` for a calling
thread (gettid), but it seems to be impossible to obtain the `tid` from
  `pthread_t` without some hacks which are way too dirty to share in
public ...

well-known "pain" as well, thanks.

    T.

--
Tommaso Cucinotta, Computer Engineering PhD
Associate Professor at the Real-Time Systems Laboratory (ReTiS)
Scuola Superiore Sant'Anna, Pisa, Italy
http://retis.sssup.it/people/tommaso




[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux