4

I have a 13th gen intel 13600k CPU with 6 performance cores (hyper threaded) and 8 efficiency cores (no hyper threading). I'd like to pass through 1 performance core (with it's hyperthread) and 2 efficiency cores. I'm using libvirt/qemu.

How can I prevent the virtual machine from running expensive single threaded tasks on the efficiency cores?

Fallen
  • 151
  • Another duplicate - https://unix.stackexchange.com/q/73/100397 – Chris Davies Mar 19 '23 at 08:30
  • 2
    @roaima I think the question was more "how do I inform the process scheduler on the VM of the things that the host scheduler would know, namely that these 3 cores it has are not equal and that scheduling decisions need to be different than if they were, or be very suboptimal". Your links answer the question of "how do I manually pin a process?", which isn't the same thing as "how do I let the guest OS do the right thing, automatically?". – Marcus Müller Mar 19 '23 at 09:02
  • 3
    That is correct. @roaima Your first link is about pinning and the second is about setting affinity on either the host, which you can do via libvirt params, or on the guest manually. Neither of these quite do what I'm looking for, which is automatically informing the guest scheduler that the cores are different. – Fallen Mar 19 '23 at 10:44

0 Answers0