Linus Torvalds released Linux 6.12rc4 (Release Candidate 4), saying L that he was “not hap py with how big this [the number of changes going in at this stage in the development cycle] is – it’s probably far from the biggest rc4 ever, but it is the biggest rc4 we’ve had in the 6.x series”. Nonetheless, there were no dealbreakers and things are on track for a Linux 6.12 final within the next month. Hopefully, this means we will have some early coverage of the Linux 6.13 merge window and its new features in time for next month.
Lazy preemption muck
Peter Zijlstra is a well-known Linux kernel developer who touches many parts of the kernel, in particular the scheduler. The scheduler decides which task (process) to run at any moment. It is responsible for maintaining the illusion of hundreds or thousands of simultaneously executing programs by timeslicing these on to the available cores, and handling blocking while programs wait for IO, page faults (loading data in from swap), and so on. Schedulers are very much key to user experience and impact everything from web server response to video game FPS. They must trade off latency and throughput quite carefully. You may recall that the last of the Real Time (officially PREEMPT-RT) patches were finally merged into the kernel last month, meaning that Linux can now support very low latencies for tasks out of the box.
À LA MODE “Linux has a number of different modes of operation now that affect preemption”
Technically, Linux has a number of different modes of operation now that affect ‘preemption’, or bumping a task because another one is more important at this moment. Peter’s latest work adds another mode called Lazy that aims to ultimately rationalise several of the existing modes. When all is said and done, the goal is to have the option for Real Time, where latency is minimised at a cost of some loss of throughput, and a Lazy mode where latency is pretty good but the kernel won’t preempt itself in most cases if another task could run right away.