QEMU 4.1.0 with SMP die option

I just saw QEMU 4.1.0 now has an option to define the CPU dies ( https://wiki.qemu.org/ChangeLog/4.1 )
If I understand this correctly, this will let us define the die topoligy to the guest - so the guest can make better decitions about where to place threads (If the OS / Application support this)

Has anyone had time to play with this option?

My current system needs a replacement soon, and I as thinking about giving AMD a try again…
But, in my case - I am using minimal OS, and run all my guests virtual (both Linux, and sometimes WIndows) with GPU passthrough.
Currently I only assign 1 core (2 threads) to my “hypervisor OS”, and the rest goes to the guests.
I will assume on an AMD/Zen platform, it would be smarter to assign 1 core for each CCX to the underlaying OS… ?

1 Like

Do you mean CPU pinning? I didn’t realise that is so new

I don’t see what you are talking about on the change log

In the x86 section of the changelog.

  • CPU die topology can now be configured using the -smp ...,dies=... option

But all AMD-Zen are X86_64?

Okay, I get the difference now, does it make any measurable difference to just cpu pinning?

And is it easier than choosing pinned cores from Lstopo?

It would seem Windows how has understanding of CCX… https://borncity.com/win/2019/06/30/windows-10-v1903-optimization-for-zen-based-amd-cpus/

Has anyone with a GPU Passthrough Ryzen system had a chance test this, with the newer “die” options to qemu ?
And if yes, can anyone confirm if it is possible to split the CCX uneven ? (like, having 3+4 configuration) ?

Haven’t tried it still; I just use the whole cpu, and not having issues.

Can you try it and let us know?

I do not have a Ryzen system yet… That is kinda why I am asking (As I was thinking of getting a 3700x system).
I just wanted to make sure, that everything will run good for VFIO as-well.

If you have a Ryzen 7 setup, could you comment in the CCX vs die option then please?

Has anyone had a chance to play with the die functions of qemu?