I think I will buy a 5700x with an ASUS ProArt B550-Creator (this mobo supports PCIe 4.0 x8/x8 and is quite cheap in where I live).
I want to explore options from Intel too, but most latest gen good Intel CPUs have e-cores.
I heard that it is better to use AMD CPUs for VFIO because e-cores are bad and CPU pinning requires more effort. Is it still the case as of now? Are there any other notable disadvantage(s) of Intel CPU with e-cores?
Sure, but I would rather have them enabled for the extra power.
I want to know what problems do Intel e-cores bring, so that I can make a better choice for new hardware.
I always pin cores for my “important” VM(s) on both AMD and Intel systems. It’s worth the extra bit of effort to configure it and set up vfio-isolate to run accordingly in VM startup/shutdown hooks. (There’s a full example in the README that gives a great starting point.)
E-cores aren’t bad, per se, but there are two main issues vis-à -vis VFIO. First of all, Thread Director integration is still under development in the Linux kernel, so when you have a mix of P- and E-cores visible to the scheduler, it may not behave how you’d like it to. Secondly, when you pin a VM to a mix of core types, I don’t believe the guest operating system has access to the necessary hardware calls to get hints on how to distribute work between them. I’m not sure the guest even knows that there are two different types of cores! Nor does there appear to be a way to communicate this to the guest in the domain XML or on the qemu-system-x86_64 command line.
I have a 13600K (6+8) on the bench at home and I’ve been playing around with it a bit. The best solution I’ve come up with so far is to pin the six Raptor Cove P-cores and their threads to the Windows VM and use virt-isolate to hide them from Linux. Then Linux just sees and uses the eight Gracemont E-cores. And of course you could do it the other way around depending on your performance requirements for each domain.
I still have a preference for homogeneous cores, but Alder and Raptor Lake are definitely workable. And there are some advantages: H670 and Z690 (and corresponding 700-series chipsets) have twice the PCH bandwidth of AM4 and AM5; up to four PCIe Gen4 lanes on the latter vs eight (or the equivalent thereof) on the former. You can get top-tier CPU performance, PCIe Gen5, and USB 3.2 Gen2x2 on a DDR4 platform. And prices have been stupefying—a few weeks ago Micro Center had a Z690 D4 board bundled with a 12600K (6+4) for $250. That’s an astounding value!
Haha, yes, it’s a mess. There is actually a kind of internal consistency in USB3 that makes sense once you start digging in, but it’s impossible to remember everything yourself let alone try to communicate with other people about it.
USB 3.2 Gen2x2 is the second generation lane speed (10Gbps) by two lanes for a total of 20Gbps throughput. And unfortunately you can’t just say 20Gbps because there are three different ways to get 20Gbps: USB 3.2 Gen2x2, USB 4.0 Gen2x2 (which uses a different line encoding and is thusly incompatible with the former), and USB 4.0 Gen3x1. And just to make things fun you can have 20Gbps USB 3.2 Gen2x2 tunneled over USB4.
Hi, I came from the future,
Willing to buy an i3-12100F, this one does not seem to have e-cores, so not a BIG.little type o CPU? is it more pinning stable?
A motherboard i’ve looking a lot on is the H610-M, name the ASRock HDV or HDV/M.2, for this info on it is that at least it supports full virtual on the intel platform.
Hi, thx for the answer!
please could you tell on which motherboard? Did you by any means have problems with IOMMU groups? the one i want to get seems like a great(VT-X+VT-D) one though no information about groups at all. Since i don’t see any ACS support for it too.
Also did you try any GPU passthrough with it?
Sorry for the question bombardment… Really looking for as most info possible .
I will bring up that the inter core latency between the cores is MUCH GREATER crossing from P to E cores and vice versa. You cant UMA the P and E cores like you can on Threadripper so it’s always a shared pool of memory.
I highly recommend using a Monolithic APU from Ryzen for better memory fabric links (you can clock much higher with fast RAM on the APUs vs the chiplet processors)