VMware Workstation

 View Only
Expand all | Collapse all

Poor support for Intel 12th gen processors

  • 1.  Poor support for Intel 12th gen processors

    Posted Mar 17, 2022 09:16 PM

    I have an intel i9-12900 processor running VMWare Workstation Pro 16 on windows 11 running Ubuntu 18.04 guest. There are several problems that I've noticed:

    1) cannot specify the right number of cores: Since the # of processors and cores per processor are powers of two, the maximum I can configure in the UI is 16 cores out of 24 that I have. That's only 2/3, leaving a lot of wasted power!?

    I can edit the vmx file manually and manually specify the number of cores via the numvcpus parameter, but that leads to problem two:

    2) Something is wrong with processor performance. I tried 8, 16, 20, and 24 cores. The 24 core version refused to boot, i didn't debug that further. 20 core booted. 8 and 16 were supported by the UI.

    But in all 4 cases, I tried running some benchmarks, and the numbers were identical! I looked at the per-core CPU utility in HWInfo, and it seems that all of the CPU were pinned on the efficiency cores and my power cores were barely getting any use. The total CPU utilization was stuck at slightly over 50%. This explains why changing the core count does not improve the performance, because it's using only the efficiency cores!

    I tried both the standard vm mode and hyper-v based mode. The results were the same. 

    Anyone else notice this?



  • 2.  RE: Poor support for Intel 12th gen processors

    Posted Mar 18, 2022 02:59 AM

     wrote:

    1) cannot specify the right number of cores: Since the # of processors and cores per processor are powers of two, the maximum I can configure in the UI is 16 cores out of 24 that I have. That's only 2/3, leaving a lot of wasted power!?


    The "number of cores per processors" are not in powers of 2. I can see 1, 2, 3, 4, 6, 8, 12, 16, 24, 32. Only the "Number of processors" are powers of 2 (1, 2, 4, 8, 16, 32). So theoretically you can reach 24 vCPU using 1x24, 2x12, or 8x3, 4x6. Anyway, the number of virtual sockets does not affect VM performance. It does have an effect on OS licensing. For example, specifying "Number of processors" of 2 for Windows 10/11 Professional Edition OS VM is viable but for Home Edition it won't be able to recognise the extra virtual socket and thus reduces the number of vCPUs.


     wrote:

    Anyone else notice this?


    Yes. There is an earlier thread. You could try setting CPU core affinity use the vmx entries such as Processor23.use = "TRUE". See this thread.
    https://communities.vmware.com/t5/VMware-Workstation-Pro/Workstation-16pro-on-alder-lake-system/m-p/2880327#M172785



  • 3.  RE: Poor support for Intel 12th gen processors

    Posted Mar 18, 2022 07:01 AM

    Thanks for the help and for pointing out my mistake.

    (But of course it does seem like my conclusion was right after all... since any efficiency cores are out of the question, I can use only 16 cores at most)

    By the way on a side note, do you know why 24 cores failed? (I saw an error message on boot with 20 cores also, but it did complete booting. 24 cores would not complete.)



  • 4.  RE: Poor support for Intel 12th gen processors

    Posted Mar 18, 2022 11:40 AM

    Without any specific error message and/or vmware.log from the attempt to power up a VM with 20 vCPUs/24vCPUs, it is pointless for me to speculate why your attempts failed. I would suggest though if you want to try 20 vCPU (or 24vCPU), keep it to single virtual socket as most modern OS are able to handle multicore. In the physical machine world, it is very rare now to find an Intel-based machine that uses more than 8 sockets.

    The way I understand efficient/performance cores, it is really up to the CPU to decide which core to execute. I don't think the OS or in the case of the VMware hypervisor would pick a particular core/thread (just like for pre-12th gen Intel CPUs it does not choose a particular core/thread).

    The workaround with the processor affinity does not even guarantee that the performance cores will be used all the time. It just excludes (some or all of) the efficient core(s) as per affinity/dis-affinity configuration while maintaining there are enough logical CPUs to handle the vCPU count. So unless you have a specific VM use case for CPU intensive task (like in the other thread post it was building binaries from source code), it would be best to avoid assigning core/thread affinity for VMs. It can get gnarly quickly if you have multiple VMs with affinity/dis-affinity assignments.

    So for 20 vCPUs, you would have (assuming the 8 efficient cores are Processor16 to Processor23 and you would like to have the affinity workaround).

    numvcpus = "20"
    cpuid.coresPerSocket = "20"
    Processor0.use = "TRUE"
    Processor1.use = "TRUE"
    Processor2.use = "TRUE"
    Processor3.use = "TRUE"
    Processor4.use = "TRUE"
    Processor5.use = "TRUE"
    Processor6.use = "TRUE"
    Processor7.use = "TRUE"
    Processor8.use = "TRUE"
    Processor9.use = "TRUE"
    Processor10.use = "TRUE"
    Processor11.use = "TRUE"
    Processor12.use = "TRUE"
    Processor13.use = "TRUE"
    Processor14.use = "TRUE"
    Processor15.use = "TRUE"
    Processor16.use = "TRUE"
    Processor17.use = "TRUE"
    Processor18.use = "TRUE"
    Processor19.use = "TRUE"
    Processor20.use = "FALSE"
    Processor21.use = "FALSE"
    Processor22.use = "FALSE"
    Processor23.use = "FALSE"

     



  • 5.  RE: Poor support for Intel 12th gen processors

    Posted Mar 18, 2022 10:39 PM

    Your proposed config for 20 core doesn't work, unfortunately.

    As mentioned in my reply to the other thread you linked, the presence of ANY efficiency cores causes vmware to direct all cores to those cores. 

    In the 20 core config, 4 efficiency cores are activated. This causes vmware to put all 20 cores on those 4 cores. So in fact, by going from 16 to 20 cores, we've gone down from 16 real power cores to 4 efficiency cores, at 1/4 of the performance. This is validated by actual testing.

    I can't come up with a way to enable more than 16 cores under this bug. I assume in the extreme example, if we enable 17 cores, all 17 cores would be assigned to the single efficiency core that's enabled.

    This has to be a VMware bug, not an OS one. Other programs don't have this problem.



  • 6.  RE: Poor support for Intel 12th gen processors

    Posted Mar 28, 2022 06:44 PM

    I have the same issue since maybe Windows January Update.. all of my vm's are crazy, to make things "ok" i park the effeciency cores but vm's with windows 11 take 1-2 min just to get to the flag.. Also running the 12900k.



  • 7.  RE: Poor support for Intel 12th gen processors

    Posted Mar 28, 2022 10:52 PM

    Fetakungen,
    From your post, it is not clear whether your host is Windows 11 or Windows 10. From my understanding only Windows 11 kernel can make use of the Intel Thread Director of Alder Lake CPUs. If you are seeing a performance drop after a Windows update, you might want to check whether Hyper-V somehow got enabled.

    Look at the vmware.log, if it shows ULM for Monitor Mode, Hyper-V is detected. If it shows CPL0, the faster native Intel VT-x hypervisor is used.

    <timestamp>| vmx| I005: Monitor Mode: ULM

    To remove Hyper-V, use this KB as reference https://kb.vmware.com/s/article/2146361 Also make sure Memory Integrity is OFF.



  • 8.  RE: Poor support for Intel 12th gen processors

    Posted Mar 28, 2022 08:53 PM

    If I remember right WS 16 allows a maximum of 16 vCPUs per VM.

    Ulli

     



  • 9.  RE: Poor support for Intel 12th gen processors

    Posted Mar 29, 2022 03:20 AM

    Continuum,

    Since I can get it to run with 20 cores, I don't think this is the problem.



  • 10.  RE: Poor support for Intel 12th gen processors

    Posted Apr 24, 2022 10:13 AM

    My i7-1260p is also working so slow in vmplayer. It's seems only use effi. cores. 



  • 11.  RE: Poor support for Intel 12th gen processors

    Posted Apr 25, 2022 08:24 PM

    concluded (in this thread) that "It seems that even if 1 efficiency core is enabled, it will not use any power cores"



  • 12.  RE: Poor support for Intel 12th gen processors

    Posted May 07, 2022 09:40 PM

    (Going to try one more time to post this.. hope it doesn't show up 4 times...)

    Using Workstation Player 16, but seems like the same issue and "fix" as Pro.

    Running an i7-1280p in a ThinkPad X1 Yoga Gen 7. Takes over 22 minutes to build a Ubuntu 21.10 client. Ugh.  Same build on my X1YG6 i7-1185G7 takes 5 minutes.  Both machines 32GB Ram, 2TB Gen 4 NVMe SSD, Win 11 fully updated.

    The .vmx addition below helps a lot - gets it down to 12 minutes, but still not what it should be.  Also helps with post-build boot time, even with a  DOS client - but still not what it should be.

    Not sure whether to hope for further improvements on the VMware side, or look elsewhere in the system.

    thanks,

    Z.

     

    ulm.disableMitigations="TRUE"
    Processor0.use = "TRUE"
    Processor1.use = "TRUE"
    Processor2.use = "TRUE"
    Processor3.use = "TRUE"
    Processor4.use = "TRUE"
    Processor5.use = "TRUE"
    Processor6.use = "TRUE"
    Processor7.use = "TRUE"
    Processor8.use = "TRUE"
    Processor9.use = "TRUE"
    Processor10.use = "TRUE"
    Processor11.use = "TRUE"
    Processor12.use = "FALSE"
    Processor13.use = "FALSE"
    Processor14.use = "FALSE"
    Processor15.use = "FALSE"
    Processor16.use = "FALSE"
    Processor17.use = "FALSE"
    Processor18.use = "FALSE"
    Processor19.use = "FALSE"



  • 13.  RE: Poor support for Intel 12th gen processors

    Posted Jul 28, 2022 05:51 AM

    Is this issue fixed in the new 16.2.4 workstation release? I don't see it in the release notes.



  • 14.  RE: Poor support for Intel 12th gen processors

    Posted Sep 02, 2022 09:20 AM

    No, still have the same issues. Without setting cpu affinity to completly exlude 16 and up on my 12900ks only the e-cores are used and poorly... Somethings goes complete wrong for the scehduler it seems.



  • 15.  RE: Poor support for Intel 12th gen processors

    Posted Sep 14, 2022 07:40 PM

    I was able to get your proposed modification working with my VM, it no longer tries to run on just efficiency cores. Thank you for investigating this, I hope VMWare get this figured out with their next release.



  • 16.  RE: Poor support for Intel 12th gen processors

    Posted Oct 23, 2022 09:32 PM

    I am having very similar issue here. Basically vmware workstation can't utilize the second core of the performance core. I am running i9-13900k with 8 P core and 16 E core, suppose to get 32 total threads, but it only use 24. 

    I can even see it in the windows task manager that only one thread out of the two threads for each P core is used. Windows 11 and latest vmware workstation. Also I am running a desktop, so there is no power limitation. 

    any idea?

    Updated with solution:

    1. in windows host, settings, power, power mode, change to performance. Note that you have to choose "balance" in Control Panel-Power Option, in order to change the one in Setting. (Thanks, Microsoft)

    2. run VMware Workstation as Administrator. By right clicking your VMware shortcut, Properties, Advanced, check "Run as Administrator"

    And of course you need to set the number of cores/threads available in your VM setting, but you don't need to mess around the vmx file.



  • 17.  RE: Poor support for Intel 12th gen processors

    Posted Nov 20, 2022 08:44 PM

    Got my hopes up when WS Player 17 came out.  Nope.  Still unusable at default settings.



  • 18.  RE: Poor support for Intel 12th gen processors

    Posted Nov 21, 2022 03:36 AM

    Like you, I was hoping for a major improvement with 17, which by default I did not see.  I have had the same e-core issues since moving to an i9-12900K.   I would like to contribute some observations from today's testing, if that might help.  

    Using the Intel XTU utility, I too had noticed that the e-cores, rather than the p-cores, were being used by VMWare, specifically while running benchmarks on my Linux and Windows (11) guest vm's.   In order to circumvent the issue, I had tried a couple of things in the past.

    First disabled the e-cores in bios.  This resulted in a dramatic performance improvement in the benchmarks, as might be expected...typically by a factor of 2 to 1 or so. This, of course, is not an acceptable long term solution.  

    Next, I specified cpu affinity, as has been suggested in a couple of other posts.  This too worked well for my linux vm, pushing activity to the p-cores.  Performance essentially duplicated the results of totally disabling the e-cores in bios. Since the Windows 11 vm needed to be encrypted, however, editing the vmx file for cpu affinity has not really been an option, without deleting the tpm and then decrypting.  

    In looking at the doc again, and also based on a reference in another post, I today changed the default "input grabbed" priority ("edit>preferences") to "high" (not sure why the default is "normal"), and made sure my vm's were using the default .  I saw activity now driven to the p-cores, not the e-cores.  Results were similar again to totally disabling the e-cores.  This, however, is only the case while the vm has focus.  If it is placed in the background or loses focus, activity reverts to the e-cores.  Unfortunately there is currently no "high" priority option for "input ungrabbed", as far as I can tell.  So running a long task in the vm, and wanting to switch to something else in the meantime, results in the e-core performance degradation.

    This works for me, by the way, when running vmware as a standard user (my preference), and with either a "balanced" or "performance" power plan in the Windows host, which in my case is also Windows 11, 22H1 at this point.  My "balanced" plan has a cpu minimum of 5%, max of 100%.  

    My config: i9-12900K processor, 32G memory, Windows 11 22H1 host.  Ubuntu 22.10 vm, Windows 11 vm, each specifying 8 cpu's and 8G memory.    Linux benchmarks are Mathematica 13, and a hand-coded python single-thread cpu burner.  Windows benchmarks are Cinebench and the same python program.  

    I have used vmware as a programming tool for many years, but had been flummoxed by this recent e-core issue.  So I would certainly welcome anything in the doc or other posts I might have missed.  It would seem that many other have encountered the same issues.  Unless I've missed something, I cannot believe it has not received more attention.  

    Any other experiences, observations or pointers welcome, of course.  



  • 19.  RE: Poor support for Intel 12th gen processors

    Posted Dec 08, 2022 09:13 AM

    Input Grabbed is giving the high priority. This is something I need. When my VM is not in focus I want it to use minimum resources (or at least the e-cores) and when its in focus I want it to be performant.



  • 20.  RE: Poor support for Intel 12th gen processors

    Posted Sep 07, 2022 05:03 PM

    My MSI mainboard offers to disable specific cores so I simply disabled the E cores but it didn't seem to have any meaningful effect for my performance problems. VMware Workstation Pro still runs better on a 2+ years old notebook than it does on my cutting edge gaming computer which just isn't right.



  • 21.  RE: Poor support for Intel 12th gen processors

    Posted Sep 07, 2022 05:20 PM

    A quick very temporary fix on my ThinkPad X1 Yoga Gen 7 is to move the performance slider from balanced to best.  Cut the Ubuntu client build time from 20+ minutes to 5.  Not sure whether that limits cores/threads, changes CPU clocking, or something else.  Not really usable in the long term.  My Gen 6 runs that build in 5 minutes in balanced mode.



  • 22.  RE: Poor support for Intel 12th gen processors

    Posted Sep 07, 2022 06:03 PM

    Has anyone tried this with the Workstation 22H2 Tech Preview? If you have and it still exhibits these issues, then you should report this back to VMware so that they can possibly address this before the next release is shipping.

    After all, that's what a preview/beta release is designed for.



  • 23.  RE: Poor support for Intel 12th gen processors

    Posted Sep 07, 2022 06:07 PM

    Didnt know about it, downloading now



  • 24.  RE: Poor support for Intel 12th gen processors

    Posted Sep 07, 2022 11:19 PM

    Would say it still behaves the same..



  • 25.  RE: Poor support for Intel 12th gen processors

    Posted Dec 09, 2022 03:53 PM

    5 mins in 1185G7 

    5 mins in 1260P

    1260P should be much faster.

    What are your host and guest OS? Is it because of Ubuntu.

    Were you able to further optimize it and bring the time even down (using input grabbed to high)?

    I am considering to upgrade AMD 5800h laptop to Intel 12700h laptop. I have to run windows 10/11 VM on it. I was wondering will it be a an upgrade or downgrade for my VM?



  • 26.  RE: Poor support for Intel 12th gen processors

    Posted Dec 09, 2022 04:45 PM

    Put some of the blame on Microsoft. I'm reading lots of posts saying that the Windows thread director does not do a good job of assigning threads to the P cores - the Handbrake discussion in the Microsoft forum posted above is one instance where it's not working well. Since a VCPU is a thread to Windows, VMware is at the mercy of what Windows provides to assign the thread to a P core. Nothing VMware can do about that. 

    The only workaround that I've heard might make a difference is to set the power mode to "performance" rather than "balanced". 



  • 27.  RE: Poor support for Intel 12th gen processors

    Posted Dec 09, 2022 06:32 PM

    Hi Technogeezer, 

    I would certainly agree that Microsoft and Intel between them have done a poor job of implementing support for the processor configuration.  I just recently ran into a problem with Win 11 22H2 where python processes running in powershell are assigned e-cores, rather than p-cores as was the case with 22H1.  Ugh.

    Since I'm not enough of a Windows hound to understand what's going on under the covers, I don't understand all the ways a process can communicate to Windows that p vs. e cores should be assigned.  Clearly VMware does something along those lines since "input grabbed" affects the core assignment.  Also, as mentioned above, the "Processorxx.use"  parameter in the vmx file has a direct effect as well, so there is some specific communication going on between VMware and Windows.  So it would seem more than just leaving guesswork to Windows.  A topic for more research. 

    I did some testing with an Ubuntu (22.10, 5.19 kernel) host and VM.  Don't seem to have similar e-core performance issues.  But then again, everything I've used (primarily python), is vastly faster under Linux to begin with.  

    I sure wish the VMware wizards would provide some clarification on this, rather than leave it up to discussions in the forums. 

    Appreciate your input...from a fellow geezer. 



  • 28.  RE: Poor support for Intel 12th gen processors

    Posted Dec 09, 2022 06:37 PM

    "I sure wish the VMware wizards would provide some clarification on this, rather than leave it up to discussions in the forums. "

    ^^^ This !!!



  • 29.  RE: Poor support for Intel 12th gen processors

    Posted Mar 04, 2023 06:34 PM

    Just wandered back in and saw the "run as administrator" fix.  Nice.  That gets performance back to almost 11th gen numbers.  A Ubuntu build took ~5 minutes, not 22.

    I see about the same result by either setting the performance slider to Performance instead of Balanced, or running as Admin.  Guess is that either mode hands the app P cores instead of E cores.

    For me the run as Admin approach is much preferred since it doesn't kill global battery run time.  I hope.

    Maybe some day Intel/MS/VMware will get their poop in a group and fix this... and monkeys might fly...

    Z.



  • 30.  RE: Poor support for Intel 12th gen processors

    Posted May 08, 2023 09:57 PM

    Any word on whether this issue got addressed? Considering this processor vs AMD

     

     



  • 31.  RE: Poor support for Intel 12th gen processors

    Posted Dec 09, 2022 06:10 PM