On Mon, May 09, 2016 at 12:18:54PM +0200, Maximilian Krüger wrote: > I am planning to extend the CFS as part of my master thesis. I want > user-threads to allow to decide whether to enter a critical section or call > sched_yield()
sched_yield() for anything other than SCHED_FIFO / SCHED_DEADLINE is a 'bug'. That is, calling sched_yield() outside of those two cases is undefined behaviour and the kernel is free to eat your granny and set your pet on fire. > For tight synchronized workloads it might be useful, to only start certain > short tasks, when they still can be completed in the current time slice > without being interrupted by the scheduler. > Since low latency is key, my current plan is to use a shared-mapped page for > signaling and only use a syscall for the setup. I'd be curious, if you might > find this useful in general and if there is a chance for getting this > accepted upstream, given my benchmarks can prove gives the intended > benefits. Schemes like this have been proposed many times (Google might find them for you in your favourite LKML archive) and shot down the same number of times. Such proposals always end up needing to define a 'limit', which is artificial and subject to creep, also such soft preempt-disable or boost schemes have very open ended semantics. They also become useless if _everyone_ requests them at the same time -- something not unlikely since every userspace program thinks it is the most important thing under the sun. Would something like: http://lkml.kernel.org/r/20151027235635.16059.11630.st...@pjt-glaptop.roam.corp.google.com and http://lkml.kernel.org/r/1459789313-4917-1-git-send-email-mathieu.desnoy...@efficios.com work for what you want to achieve? If not; please explain in more detail why you want what you propose.