Disabling Spectre Mitigations in 2020



  • So with everything that's going on we're facing the prospect of having to wring even more life out of some of our hardware.

    Hardware in question is a bunch of R720xd, each with 2 E5-2660 v2 CPUs.

    Workload would be Windows10 guests for our VDI environment.

    Has anyone got a real perspective on the risks and performance benefits of using spec-ctrl=no-l1d-flush on XenServer and friends? The directive so far has been to keep things on pre-mitigation firmware and platforms... So I'm looking at running XS 7.1 (don't recall the exact CU and patch level) vs either the latest LTSR or the 8.1 with spec-ctrl=no-l1d-flush
    <preemptive rant> Yes it's ugly, no I don't like it, but it's not my call so there's no point in discussing the many levels on which this is a bad idea. Looking for assistance / solutions, not a bunch of criticism or complaints. </preemptive rant>

    What I find puzzling / frustrating is that I've tested installing Server2019 and W10 1909 as guests on the same hardware with the same XenTools and get hugely different performance results. My understanding was that they were essentially a shared code-base so I'm at a loss as to why such a performance difference. Specific test case is a huge file transfer, the W10 guest spikes a cpu thread to 95 or 100% while the Server 2019 guest runs a thread up to about 20% and it stays there for the duration of the file transfer.



  • Which was was faster?



  • Safe to assume that both VMs had the same amount of resources dedicated to them?



  • What was the NIC setting that was killing performance awhile ago - are those days over? @JaredBusch



  • @Dashrender Are you thinking of promiscuous mode?



  • @Danp said in Disabling Spectre Mitigations in 2020:

    @Dashrender Are you thinking of promiscuous mode?

    No, he is thinking of VMQ, which I hate.



  • @notverypunny said in Disabling Spectre Mitigations in 2020:

    My understanding was that they were essentially a shared code-base so I'm at a loss as to why such a performance difference. Specific test case is a huge file transfer, the W10 guest spikes a cpu thread to 95 or 100% while the Server 2019 guest runs a thread up to about 20% and it stays there for the duration of the file transfer.

    The processor scheduling is different on "server" and "workstation" OS. Servers prioritize background services while workstations prioritize foreground applications. It has been this way for a very long time, basically since the NT days (early 90s).

    So even if they share the same code they are tuned for completely different workloads. With settings and registry tweaks you might be able to get them to behave similarly. You could start by changing Control Panel>System>Performance Settings>Advanced>Processor Scheduling to Programs.



  • @notverypunny said in Disabling Spectre Mitigations in 2020:

    My understanding was that they were essentially a shared code-base so I'm at a loss as to why such a performance difference.

    Same basic code base, but with different settings, limits, and features.


Log in to reply