6 comments

  • ryao 53 minutes ago
    Linux added a busy polling feature for high performance networking. Most Linux software does not use it, but software used in datacenters (e.g. by CDNs) that does use it makes the system very energy inefficient when things are not busy. This patch gives the the kernel the ability to turn that off when not busy to regain energy efficiency until things become busy again.

    The article name is somewhat misleading, since it makes it sound like this would also apply to desktop workloads. The article says it is for datacenters and that is true, but it would have been better had the title ended with the words “in datacenters” to avoid confusion.

  • queuebert 45 minutes ago
    This is really cool. As a high-performance computing professional, I've often wondered how much energy is wasted due to inefficient code and how much that is a problem as planetary compute scales up.

    For me, it feels like a moral imperative to make my code as efficient as possible, especially when a job will take months to run on hundreds of CPU.

  • corbet 29 minutes ago
    For a more detailed look at this change: https://lwn.net/Articles/1008399/
  • infogulch 1 hour ago
    Wow busy waiting is more resource intensive than I realized.
  • d3Xt3r 5 hours ago
    > The code has been implemented as part of the Linux kernel release version 6.13 in January.

    This is basically 3 month old news now.

    • ryao 1 hour ago
      If you read the original commit comment, userspace software needs to opt into this:

      https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds...

      If it is not reported for people to know about it, this will do nothing.

      That said, the opt-in here is only relevant when software has already opted into busy polling, so it likely does not apply to software used outside of datacenters.

  • pelagicAustral 52 minutes ago
    Good thing it's not the Gnome team in charge of patching this, else we would be looking at a expenditure of 2 solar years worth of power output before the release of the patch.