Hello you guys, I've got a little question about CPU pinning in QEMU.
In this section in an article on the Arch wiki two ways of pinning CPU threads are shown.
I am looking to pin all 8 logical threads of my 6700k and pass through my RX 480 because I want to set up a very minimal openSUSE Tumbleweed or Fedora Server/Rawhide partition just for virtualizing Windows. The Idea is that I get everything up to date, lock it down and use it just for virtualization.
Now, this is what the section states:
"If you don't intend to be doing any computation-heavy work on the host (or even anything at all) at the same time as you would on the VM, it would probably be better to pin your VM threads across all of your logical cores, so that the VM can fully take advantage of the spare CPU time on all your cores."
In the example given he is talking about a 4C CPU with HT, which is exactly what I have, and he says that it pins the VM threads across all of my logical cores, which it doesn't. It doesn't even look like it would do that:
...
<vcpu placement='static'>4</vcpu>
<cputune>
<vcpupin vcpu='0' cpuset='4'/>
<vcpupin vcpu='1' cpuset='5'/>
<vcpupin vcpu='2' cpuset='6'/>
<vcpupin vcpu='3' cpuset='7'/>
</cputune>
...
<cpu mode='custom' match='exact'>
...
<topology sockets='1' cores='4' threads='1'/>
...
</cpu>
...
Now, how would I actually pin the virtual cores across all of my physical threads?
Would I just use
...
<vcpu placement='static'>8</vcpu>
<cputune>
<vcpupin vcpu='0' cpuset='0'/>
<vcpupin vcpu='1' cpuset='1'/>
<vcpupin vcpu='2' cpuset='2'/>
<vcpupin vcpu='3' cpuset='3'/>
<vcpupin vcpu='4' cpuset='4'/>
<vcpupin vcpu='5' cpuset='5'/>
<vcpupin vcpu='6' cpuset='6'/>
<vcpupin vcpu='7' cpuset='7'/>
</cputune>
...
<cpu mode='custom' match='exact'>
...
<topology sockets='1' cores='4' threads='2'/>
...
</cpu>
...
?
Thanks in advance!
Edit: Just for reference,
cat /proc/cpuinfo | grep -e "processor" -e "core id" -e "^$"
returns exactly the same thing as what's written in the wiki page.