Announcement

Collapse
No announcement yet.

Intel HFI Driver Can "Save Tons Of CPU Cycles" By Only Enabling Itself When Needed

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Intel HFI Driver Can "Save Tons Of CPU Cycles" By Only Enabling Itself When Needed

    Phoronix: Intel HFI Driver Can "Save Tons Of CPU Cycles" By Only Enabling Itself When Needed

    The Linux kernel has supported the Intel Hardware Feedback Interface "HFI" via the "intel_hfi" driver since 2022 for bettering supporting Core hybrid processors. The Intel HFI can be used for communicating performance and energy efficiency capabilities of individual CPU cores of the system. In turn the Linux kernel can leverage Intel HFI details for better task placement among the available CPU cores/threads. With a new patch series, the Intel HFI driver can "save tons of CPU cycles" by only enabling it when needed...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    So the driver to reduce power consumption is using tons of cycles? GJ intel. Does anyone know, if there is some distro that is actually using this Intel Low Power daemon?​

    Comment


    • #3
      It's insane, the level of knowledge that one must have to understand how to properly configure your system so it behaves how you like.

      I have an i7-1360p inside a very thin LG Gram laptop. The cooling is very bad, so fans start to spin very soon. That's why I run it with turbo disabled.

      But besides that, I don't even know if I'm using ACPI... Intel p-state, if I have TLP enabled... if thermald does something... if cpufreq should be used, now we have this LPMD I never heard about... Should I install it too?

      I was testing some stuff when I bought the computer, but now I think everything is conflicting with each other... Right now I cannot change the power profile from Plasma (the UI always goes back to "performance" when I try to change it, so now I have to use CLI to invoke `powerprofilesctl set balanced`.

      What a fucking mess, man...

      Comment


      • #4
        ktecho


        Good distribution will do everything for you.

        Comment


        • #5
          Originally posted by ktecho View Post
          I was testing some stuff when I bought the computer, but now I think everything is conflicting with each other... Right now I cannot change the power profile from Plasma (the UI always goes back to "performance" when I try to change it, so now I have to use CLI to invoke `powerprofilesctl set balanced`.
          That's a Plasma bug. Restart it with `systemctl --user restart plasma-plasmashell.service`. I have a shortcut for this command just in case lol.

          Comment


          • #6
            Originally posted by openminded View Post

            That's a Plasma bug. Restart it with `systemctl --user restart plasma-plasmashell.service`. I have a shortcut for this command just in case lol.
            You're right! It works after a restart... Thank you!

            Now... should I install Intel LPMD? That way the E-cores can run in low-power when I'm on battery. I don't know why that cannot be done by the 20 or so daemons managing the energy, the schedulers, etc. but ok.
            Last edited by ktecho; 27 February 2024, 12:44 PM.

            Comment


            • #7
              Huh, never heard of this before. My work laptop has those P/E cores (IIRC it has 8 of each type of core, some i9 model I think), so disabling this HFI thing might make it slightly faster (I use it plugged in 99% of the time, and I need all the performance I can get compiling a large legacy C++ code base).

              P/E cores are such a mess. For example, when profiling software with perf the different types of cores use different performance counters making it much harder to make sense of the combined data when threads aren't locked to specific cores.
              ​​​​​​
              If it is applicable to your profiling scenario (e.g. you are just looking for hotspots, not trying to optimise scheduling on big/little CPUs) I recommend pinning the program under test to a single type of cores (use taskset to set CPU affinity for example)​​​. Makes data interpretation way easier.

              Comment


              • #8
                This begs the very important question:

                What is the weight of a CPU cycle?
                Saving "tons of them" seems to amount to a pretty high number - which pales when compared to the clock frequencies that nowadays scratch at the terahertz boundaries.

                Comment

                Working...
                X