Messages in this thread | | | Subject | Re: [RFC 7/12][PATCH] SCHED_DEADLINE: signal delivery when overrunning | From | Peter Zijlstra <> | Date | Mon, 28 Dec 2009 15:19:24 +0100 |
| |
On Fri, 2009-10-16 at 17:44 +0200, Raistlin wrote: > Starting from this commit, the user can ask to receive a SIGXCPU signal > every time the task runtime is overrun or a scheduling deadline is missed. > This is done by means of the sched_flags field already present in > sched_param_ex. > > A runtime overrun will be quite common, e.g. due to coarse execution time > accounting, wrong parameter assignement, etc. > A deadline miss --since the deadlines the scheduler sees are ``scheduling > deadlines'' which have not necessarily to be equal to task's deadlines-- is > much more unlikely, and should only happen in an overloaded system.
Right, I think its much better to not do this in posix-cpu-timers.c, that code is shite.
Its probably possible to set SIGXCPU pending and raise TIF_SIGPENDING from within the scheduler code, and that will be triggered when we return to userspace.
That also gets rid of that coarse execution time accounting muck, since the scheduler has ns accurate accounting.
| |