Skip to main content

Windows 11 Outperforms Linux With Alder Lake CPUs, Scheduler to Blame

Windows 11
(Image credit: Microsoft)

A report from Phoronix has revealed that Intel's Alder Lake CPUs perform much better in a Windows 11 environment than with Linux-based operating systems. The problem is related to issues with Linux's cluster scheduler, which isn't optimized for Alder Lake's hybrid architecture. That means that Alder Lake, which are now the new Best CPUs for gaming, are better suited for Windows 11 than Linux. That's somewhat surprising given that Linux typically outperforms all flavors of Windows. 

Phoronix tested using a Core i9-12900K and Windows 11 Pro, Ubuntu 21.10 plus Linux 5.16 git, Ubuntu 21.10, Ubuntu 21.1.0 plus Linux 5.15, Clear Linux 35250, and Fedora Workstation 35.

Phoronix tested the operating systems with a range of different benchmarks, including browser benchmarks, video encoding, image encoding, blender, and more.

Windows 11 Pro won 45% of the tests out of the six operating systems, making it the most optimal operating system for Alder Lake systems. 

Alder Lake Operating System Benchmark Score

(Image credit: Phoronix)

The Windows 11 victory is due to problems with the Linux scheduler and its interaction with Alder Lake CPUs. As a reminder, the Alder Lake chips consist of two different types of cores: The big and fast Performance cores (P-cores) are paired with a smattering of small and powerful Efficiency cores (E-cores) that chew through background processes with surprising speed. 

This Linux scheduler is designed to control multiple core clusters, but it wasn't designed to differentiate between different types of cores, like Alder Lake's P-cores and E-cores. Unfortunately, that means the scheduler is unaware of the performance differences between the cores, much like we see with Windows 10. As a result, the scheduler will send workloads to the E-cores that should be sent to the faster P-cores, and vice versa.

As you can see in our Core i9-12900K review, this same type of performance issue is present in Windows 10, and for similar reasons: In the end, Linux and Windows 10 will have to adopt a means to interact with Intel's Thread Director, which feeds the operating system with real-time telemetry so it can better schedule threads to the correct types of cores, to extract the best performance.

According to Phoronix, there's no current workaround to this problem (except for disabling the E cores entirely) for Linux. Hopefully, Linux 5.16 will introduce better compatibility with Alder Lake, but there's no guarantee when or if those changes will arrive.

  • excalibur1814
    "OMG! I cannot believe this is happening. I'm dumping Linux for Windows!"" - Whenever there's a issue with Windows... Linux people)
    Reply
  • Garden-Gnome
    So, where are the tests performed on FreeBSD? After all the BSD flavours are well established in home and commercial use.
    Reply
  • TerryLaze
    Blame= to say or think that someone or something did something wrong or is responsible for something bad happening:

    commend = to formally praise someone or something:

    Admin said:
    Windows 11 Outperforms Linux With Alder Lake CPUs, Scheduler to Blame : Read more
    It should be:
    Windows 11 Outperforms Linux With Alder Lake CPUs, Scheduler to Commend : Read moreSince the scheduler actually makes windows 11 better.
    Reply
  • evdjj3j
    "This Linux scheduler is designed to control multiple core clusters, but it wasn't designed to differentiate between different types of cores, like Alder Lake's P-cores and E-cores."

    I was under the impression that Android is Linux based and doesn't seem to have an issue with a mix of big and little cores.
    Reply
  • King_V
    evdjj3j said:
    "This Linux scheduler is designed to control multiple core clusters, but it wasn't designed to differentiate between different types of cores, like Alder Lake's P-cores and E-cores."

    I was under the impression that Android is Linux based and doesn't seem to have an issue with a mix of big and little cores.

    True . . but Android was modified for use on such systems. At least, I assume that given the different processors, different types of cores, and so forth, that Linux didn't go into Android unaltered.
    Reply
  • hotaru251
    its almost like MS and intel screwed everyone who doesnt use their new cpu and OS.

    the level of co-op intel had into WIN11 is disgusting from a fairness viewpoint.

    "whats matter if other OS and cpu's dont like new chanegs we worked together on?"
    Reply
  • hotaru.hino
    evdjj3j said:
    "This Linux scheduler is designed to control multiple core clusters, but it wasn't designed to differentiate between different types of cores, like Alder Lake's P-cores and E-cores."

    I was under the impression that Android is Linux based and doesn't seem to have an issue with a mix of big and little cores.
    The kernel Android uses is forked from Linux's LTS branch and modified from there. At which point, they just replace the scheduler with something that makes more sense for the target platforms.
    Reply
  • Atom Symbol
    "According to Phoronix, there's no current workaround to this problem (except for disabling the E cores entirely) for Linux"

    An existing workaround: taskset --cpu-list 0-15 command arguments...
    Reply
  • Don Frenser
    I get the feeling someone has gotten money for something.
    Reply
  • mdd1963
    Garden-Gnome said:
    So, where are the tests performed on FreeBSD? After all the BSD flavours are well established in home and commercial use.

    Yes, the 112 folks worldwide using BSD-based variants will want some Alder Lake action ASAP! )
    Reply