
Among the scheduler changes that were successfully merged today by Linus Torvalds includes the time slice extension support that has been in development for about a decade ! There is a time slice extension for the kernel implemented via Restartable Sequences (RSEQ) that had undergone several different attempts over the years. The merged code lets user-space processes request a temporary, opportunistic extension of their CPU time slice without being preempted. The intent here is when a thread enters a critical section to avoid contention on a resource when the thread is scheduled outside of the critical section.
Also making it into Linux 7.0 is just focusing on full and lazy preemption modes for modern CPU architectures . Affected architectures now limited to either full or lazy preemption modes include x86/x86_64, s390, RISC-V, POWER, LoongArch, and ARM64 in getting rid of the none and voluntary options.
Linux 7.0 also brings a number of scheduler performance and scalability improvements. There is work that helps scalability across various workloads, fair scheduler SMP NOHZ balancing code speed-ups, and other improvements.
The list of all the exciting scheduler feature updates now-merged for Linux 7.0 can be found via this Git merge . Once the merge window settles down I'll begin with my Linux 7.0 kernel performance benchmarking and on the lookout for any regressions.