EEVDF Scheduler Patches Updated For The Linux Kernel
![LINUX KERNEL](/assets/categories/linuxkernel.webp)
EEVDF is based on the Earliest Eligible Virtual Deadline First approach that was outlined in a research paper from the late 90's.
Zijlstra's patches have shown nice latency reduction over the current CFS scheduler behavior with a variety of different tasks and benchmarks. He comments in the patch series and requests further testing from developers and the testing community:
There's a bunch of RFC patches at the end and one DEBUG patch. Of those, the PLACE_BONUS patch is a mixed bag of pain. A number of benchmarks regress because EEVDF is actually fair and gives a 100% parent vs a 50% child a 67%/33% split (stress-futex, stress-nanosleep, starve, etc..) instead of a 50%/50% split that sleeper bonus achieves. Mostly I think these benchmarks are somewhat artificial/daft but who knows.
The PLACE_BONUS thing horribly messes up things like hackbench and latency-nice because it places things too far to the left in the tree. Basically it messes with the whole 'when', by placing a task back in history you're putting a burden on the now to accomodate catching up. More tinkering required.
But over-all the thing seems to be fairly usable and could do with more extensive testing.
See more on the EEVDF scheduler work via this patch series for testing.
10 Comments