Libvirt allocation of CPU cores
I have virtualized UNRAID using Libvirt on Fedora. My question is on the CPU core allocations. I have the 8600G (6 cores, 12 threads).
If I want to allocate the absolute minimum, i.e. one physical core, does that mean I need to pass on two CPU cores? For example, cores 5 and 10 on my CPU are linked to the same physical core, so would I need to pass on both 5 and 10 to the VM for optimal performance?
At the OS level I seem to be unable to discern a physical core and hyperthread core through any system tool output, because I guess they are both virtual threads and neither is physical. I guess the OS also sees the cores virtualized by the CPU itself.
If I allocated just one core, say core 5, leaving core 10 for the host, would this be suboptimal and affect performance?
In the same vein, if I wanted to allocate two physical cores, does that means I need to pass on 4 threads to the VM?