
Adding to all the exciting performance optimizations and other improvements for Linux 7.4 is an exciting workqueue improvement. It's not too often getting to talk about "10 to 100 times faster" software improvements.
Linux workqueues are used for deferring work in an asynchronous manner within the kernel. With Linux 7.4 is an important optimization that is especially beneficial for large systems like today's high core count Intel Xeon and AMD EPYC servers. With the code merged today to Linux Git, flushing a work queue will now only visit the queues used since the last prior flush rather than one per possible CPU. In turn this yields a 10 to 100 times faster improvement with large systems:
"Flushing a workqueue now visits only the queues used since the last flush instead of one per possible CPU. Idle flushes get 10 to 100 times faster on large machines, which XFS hits on every log force."
Longtime Linux developer Tejun Heo authored the improvement so flushing workqueues will only check workqueues since the last flush. Some key takeaways from his commit message include some very promising numbers for the resulting impact:
"Yao Kai reported the XFS CIL workqueue, flushed on every log force, spending up to 64us per flush in the walk on a 128-CPU machine.
...
On a 192-CPU 2-node machine, flushing an idle per-cpu workqueue goes from 40k to 4.2M per second and an idle unbound one from 450k to 4.3M. 16 threads each queueing a work item and flushing, go from 30k to 110k flushes per second on a per-cpu workqueue and 60k to 180k on an unbound one. Dense flushes with every pwq active are unchanged on per-cpu workqueues and 15-20% slower on unbound ones. The queue path is unchanged."
Jumping from 40k to 4.2M per second for any metric is quite a feat. Especially in 2026 and not being AI authored.
This optimization work stems from this report from early September from Huawei engineer Yao Kai over the overhead for unbounded workqueues.
That's the most exciting change out of the workqueue pull request merged today for Linux 7.4.