XCP-ng
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Non-server CPU compatibility - Ryzen and Intel

    Scheduled Pinned Locked Moved Compute
    111 Posts 17 Posters 55.4k Views 16 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • stormiS Offline
      stormi Vates 🪐 XCP-ng Team @olivierlambert
      last edited by

      @olivierlambert said in Non-server CPU compatibility - Ryzen and Intel:

      Great 🙂 The ISO is "just" a refreshed 8.2 with more updated baked into it, so you shouldn't have any problem to use XCP-ng after that!

      It also was created with new ISO generation scripts and hasn't undergone QA testing, so it's not ready yet to be an official release. No particular issues are expected, but no promises either until it receives the QA stamp.

      G 1 Reply Last reply Reply Quote 0
      • DanpD Danp referenced this topic on
      • G Offline
        gecant @stormi
        last edited by

        May I ask a question?

        Long time XCP-ng user on Xeon CPUs, I am now considering one AMD Ryzen 9 7950X3D for a new XCP-ng 8.3 setup.
        (All running VMs will be Linux)

        The question is:
        Is XCP-ng kernel (currently 4.19 on XCP-ng 8.3) able to support the boosted CPU frequencies of the CPU? That is up to 5.7 GHz.
        Or is the hypervisor kernel irrelevant?

        To my knowledge (also from several bare-metal setups) proper frequency boost for Zen4 is possible only by using newer kernels (actually enabling "amd_pstate" driver is needed).

        Is the kernel inside the VM that counts here? I mean enabling "amd_pstate" driver inside the VM it enough to reach the 5.7GHz freqs?
        Or is the hypervisor kernel (4.19) a limitation to reach those high frequencies?

        Thank you.

        1 Reply Last reply Reply Quote 0
        • olivierlambertO Offline
          olivierlambert Vates 🪐 Co-Founder CEO
          last edited by

          IIRC, boost is the real of Xen, not the Dom0 kernel (because Xen deals with memory and CPU, not the Dom0, which is a VM). Sometimes the frontier is blurry and it's not trivial to know (or decide when you dev it) who should handle what. I'll ask around to be sure about boost responsibility (even if I'm pretty sure it's Xen)

          G 1 Reply Last reply Reply Quote 0
          • G Offline
            gecant @olivierlambert
            last edited by

            @olivierlambert said in Non-server CPU compatibility - Ryzen and Intel:

            I'll ask around to be sure about boost responsibility (even if I'm pretty sure it's Xen)

            Thank you!

            I guess the amd_pstate driver is not backported on 4.19 kernel that XCP-ng uses, right?

            If anyone with a Zen4 CPU can check the CPU frequencies that VMs are able to reach by default, I guess this would be useful.

            R 1 Reply Last reply Reply Quote 0
            • R Offline
              redakula @gecant
              last edited by

              @gecant said in Non-server CPU compatibility - Ryzen and Intel:

              If anyone with a Zen4 CPU can check the CPU frequencies that VMs are able to reach by default, I guess this would be useful.

              I have a Ryzen 9 7900 which reports this:

              [14:50 xenserver ~]# xenpm get-cpufreq-para 0
              cpu id               : 0
              affected_cpus        : 0
              cpuinfo frequency    : max [3700000] min [3000000] cur [3000000]
              scaling_driver       : powernow
              scaling_avail_gov    : userspace performance powersave ondemand
              current_governor     : ondemand
                ondemand specific  :
                  sampling_rate    : max [10000000] min [10000] cur [20000]
                  up_threshold     : 80
              scaling_avail_freq   : 3700000 *3000000
              scaling frequency    : max [3700000] min [3000000] cur [3000000]
              turbo mode           : enabled
              

              But i might have disabled boost in BIOS for power saving - i can check later 🤔

              Also very interested in details on the support of newer Ryzens. From what i understand power management for new zen architectures is fairly recent in the kernel so i do wonder how well supported these cpu's are currently.
              From xenpm output it does not appear to scale below 3GHz - my previous intel cpu would scale to 800MHz.

              G 1 Reply Last reply Reply Quote 0
              • G Offline
                gecant @redakula
                last edited by

                @redakula Indeed, low power consuption on "amd_pstate" driver allows much lower frequencies down to 400 MHz.

                Can you also please try to see the output of command xenpm start 1|grep "Avg freq" under some CPU load?
                This allows to see the CPU frequency regardless of the available scaling frequencies.

                For example, you can run in one VM stress-ng -c 4 to have 4 CPUs at full load and while this is running see the output of xenpm start 1|grep "Avg freq" on your Dom0 to see the CPU frequencies achieved under that stress.

                Thank you.

                R 1 Reply Last reply Reply Quote 0
                • R Offline
                  redakula @gecant
                  last edited by redakula

                  @gecant said in Non-server CPU compatibility - Ryzen and Intel:

                  @redakula Indeed, low power consuption on "amd_pstate" driver allows much lower frequencies down to 400 MHz.

                  That is what i suspected from the p-state driver being heavily developed in kernel 6.5 and 6.9... Hope we will get support soon in XCP-NG.
                  The 7900 is ridiculously overkill for most of my homelab use so each watt saved helps 😂

                  Can you also please try to see the output of command xenpm start 1|grep "Avg freq" under some CPU load?
                  This allows to see the CPU frequency regardless of the available scaling frequencies.

                  For example, you can run in one VM stress-ng -c 4 to have 4 CPUs at full load and while this is running see the output of xenpm start 1|grep "Avg freq" on your Dom0 to see the CPU frequencies achieved under that stress.

                  Thank you.

                  Seems to scale above base frequency (3,7GHz for the 7900) just fine - but does not go below 3GHz. 5GHz is pretty close to the max boost of 5,4GHz.
                  System is running 8.3 Beta with xen 4.17.
                  This is running stress on a few cores:

                  [17:25 xenserver ~]# xenpm start 1|grep "Avg freq"
                    Avg freq      2960000 KHz
                    Avg freq      2960000 KHz
                    Avg freq      2960000 KHz
                    Avg freq      2923000 KHz
                    Avg freq      2960000 KHz
                    Avg freq      2960000 KHz
                    Avg freq      2960000 KHz
                    Avg freq      2960000 KHz
                    Avg freq      2960000 KHz
                    Avg freq      2960000 KHz
                    Avg freq      3922000 KHz
                    Avg freq      3108000 KHz
                    Avg freq      5069000 KHz
                    Avg freq      5069000 KHz
                    Avg freq      5069000 KHz
                    Avg freq      5069000 KHz
                    Avg freq      2886000 KHz
                    Avg freq      2886000 KHz
                    Avg freq      5069000 KHz
                    Avg freq      5069000 KHz
                    Avg freq      2923000 KHz
                    Avg freq      3034000 KHz
                    Avg freq      5069000 KHz
                    Avg freq      5069000 KHz
                  
                  G 1 Reply Last reply Reply Quote 0
                  • G Offline
                    gecant @redakula
                    last edited by gecant

                    @redakula By looking at your xenpm start 1|grep "Avg freq" output, this 5 GHz seems normal for your Ryzen 9 7900, because I can see at least 8 CPU threads already running on high frequency.
                    To get to 5.4 GHz you need less CPUs on high frequencies, you see the more CPUs are boosted at the same time, the lower the max frequency they can reach. For about 8-9 CPUs already boosted, 5 GHz seems reasonable.

                    So from your output I believe your CPUs are reaching the boosted/high frequencies without problem.

                    Thank you for your tests here on this.

                    R 1 Reply Last reply Reply Quote 0
                    • R Offline
                      redakula @gecant
                      last edited by

                      @gecant

                      Yep - i just tried stressing a single core and got to 5.4GHz.

                      But would be nice to get power management also for these cpu's as they are pretty awesome 👍

                      1 Reply Last reply Reply Quote 0
                      • T Offline
                        tmservo433
                        last edited by

                        Largely depends on your homelab. I'm currently in my homelab using a 3970X Threadripper 😉 But, I got that board/chip free after we did a client upgrade to the new Threadrippers, and there isn't a single amount of money I could save on energy to match that savings.

                        That said, think about what you need to use your homelab configuration for; I often find that the availability of RAM and total available cores. But I guess different needs matter too..

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post