CONFIG_NO_HZ_FULL Pulled Into Linux 3.10 Kernel
Support for "full dynticks" has been accepted into the mainline Linux 3.10 kernel.
Covered earlier today on Phoronix was the full request for providing full dynticks support for Linux, a.k.a. "CONFIG_NO_HZ_FULL" as the kernel configuration operation is known. As covered earlier, the experimental kernel option benefits workloads where there is just one task running (rather than dynamic ticks when no CPU task is active) and can benefit in the number of timer interrupts generated. For end-users this can benefit real-time latency, HPC computing, and even desktop/mobile workloads.
While Linus Torvalds isn't yet convinced about the benefits of CONFIG_NO_HZ_FULL, he's decided to accept the pull request for Linux 3.10. Linus responded on the kernel mailing list with:
Covered earlier today on Phoronix was the full request for providing full dynticks support for Linux, a.k.a. "CONFIG_NO_HZ_FULL" as the kernel configuration operation is known. As covered earlier, the experimental kernel option benefits workloads where there is just one task running (rather than dynamic ticks when no CPU task is active) and can benefit in the number of timer interrupts generated. For end-users this can benefit real-time latency, HPC computing, and even desktop/mobile workloads.
While Linus Torvalds isn't yet convinced about the benefits of CONFIG_NO_HZ_FULL, he's decided to accept the pull request for Linux 3.10. Linus responded on the kernel mailing list with:
Ok, it seems to work for me, so pulled.There's still some full dynticks improvements planned so hopefully by the time everything is said and done it will lead to performance benefits for a great number of Linux users.
However, by "work for me" I mean "doesn't actually seem to make any difference for me". Maybe I'm odd, but the most common situation is either a fairly idle machine (in which case the old NOHZ did fine) or a fairly over-crowded one when I'm running something sufficiently threaded (in which case the new NOHZ_FULL doesn't do anything either).
So I really hope the "cpu has more than one running thread" case is getting a lot of attention. Not for 3.10, but right now it seems to still result in the same old 1kHz timer interrupts..
So I haven't actually found a real load where any of this makes a noticeable *difference*.
15 Comments