EEVDF Scheduler On The Verge Of Being "Complete"
([Linux Kernel] 3 Hours Ago
Completing EEVDF)
- Reference: 0001481737
- News link: https://www.phoronix.com/news/Linux-Completing-EEVDF
- Source link:
Merged one year ago for Linux 6.6 was the [1]EEVDF scheduler as [2]a replacement to the CFS code and designed to provide a better scheduling policy for the kernel and being more robust. With a new set of patches for this "Earliest Eligible Virtual Deadline First" scheduling code, it's nearing the point of officially being completed.
While EEVDF has been part of the mainline Linux kernel for a year, there have been patches since then for evolving this scheduler code with its ideas originating from a late 90's research paper.
Peter Zijlstra has been spearheading much of this work and today he dropped a set of 24 patches that he hopes will be the final version of the EEVDF patches. Zijlstra wrote on this Saturday patch series entitled " [3]Complete EEVDF ":
"So after much delay this is hopefully the final version of the EEVDF patches. They've been sitting in my git tree for ever it seems, and people have been testing it and sending fixes.
I've spend the last two days testing and fixing cfs-bandwidth, and as far as I know that was the very last issue holding it back.
These patches apply on top of queue.git sched/dl-server, which I plan on merging in tip/sched/core once -rc1 drops.
I'm hoping to then merge all this (+- the DVFS clock patch) right before -rc2."
So if all goes according to plan, EEVDF will be "completed" but that's not to say new optimizations or other features -- and fixes -- may be tacked on still after that point.
These 24 patches have some code cleanups, implementing delayed dequeue and DELAY_ZERO and ENQUEUE_DELAYED features, and other changes. There's also a patch at the end for helping to better measure thread time in a DVFS (Dynamic Voltage and Frequency Scaling) world due to the dynamically changing clock speeds of any modern processors.
[1] https://www.phoronix.com/search/EEVDF
[2] https://www.phoronix.com/news/EEVDF-Scheduler-Linux-EO-May
[3] https://lore.kernel.org/lkml/20240727102732.960974693@infradead.org/
While EEVDF has been part of the mainline Linux kernel for a year, there have been patches since then for evolving this scheduler code with its ideas originating from a late 90's research paper.
Peter Zijlstra has been spearheading much of this work and today he dropped a set of 24 patches that he hopes will be the final version of the EEVDF patches. Zijlstra wrote on this Saturday patch series entitled " [3]Complete EEVDF ":
"So after much delay this is hopefully the final version of the EEVDF patches. They've been sitting in my git tree for ever it seems, and people have been testing it and sending fixes.
I've spend the last two days testing and fixing cfs-bandwidth, and as far as I know that was the very last issue holding it back.
These patches apply on top of queue.git sched/dl-server, which I plan on merging in tip/sched/core once -rc1 drops.
I'm hoping to then merge all this (+- the DVFS clock patch) right before -rc2."
So if all goes according to plan, EEVDF will be "completed" but that's not to say new optimizations or other features -- and fixes -- may be tacked on still after that point.
These 24 patches have some code cleanups, implementing delayed dequeue and DELAY_ZERO and ENQUEUE_DELAYED features, and other changes. There's also a patch at the end for helping to better measure thread time in a DVFS (Dynamic Voltage and Frequency Scaling) world due to the dynamically changing clock speeds of any modern processors.
[1] https://www.phoronix.com/search/EEVDF
[2] https://www.phoronix.com/news/EEVDF-Scheduler-Linux-EO-May
[3] https://lore.kernel.org/lkml/20240727102732.960974693@infradead.org/
Kjell