February 16, 20233 yr Recently upgraded to a i5-13500 hoping to isolate and passthrough the performance cores for a gaming VM leaving the eight(!) efficiency cores to deal with Dockers, UnRAID processes, etc... After a bit of faffing about I finally got my RX6600 vfio-binded and working (Error 43 was the problem... Resize BAR). However, I have a number of questions now that I can't find the answer to so you more knowledgable technical folk can explain the following. 1. When threads 2-11 (P-Core + HT 2-6) are Isolated, I am still able to use those cores in UnRAID (E.g. I can run Prime95 and that will use all 20 threads). When this happens obviously the performance of the VM goes through the floor, but what the actual problem is random processes still use those cores (even with Dockers pinned to the efficiency cores) causing games to stutter. I can see the cores waking up from C7 sleep (corefreq) when the VM is shutdown but I can't tell which process(es) they are. So my question here is, why when cores are isolated do certain processes still insist on using the isolated cores and is there any way of stopping it? 2. Core 0 - Passing through core 0 causes stuttering and poor performance which apparently is to be expected. So my question here is, is there any way of re-ordering the cores so the E-Cores come first and the P-Cores come second. It is a bit annoying having to sacrifice a P-core to Unraid when it has eight underutilised and more efficent E-Cores available...!! 3. An alternative would be to Upgrade the VM to W11 and then passthrough maybe two E-cores instead, however I am unsure (without spending time trying it) if the type of core is actually detectable by the VM such that the thread director can schedule tasks accordingly. The VM can't see the live status of the clock frequency in things like HWInfo, so how would it know if its a P or E-Core? Anyone shed some light on the above? Edited February 16, 20233 yr by Interstellar
February 26, 20233 yr Author Some more investigation to this has found that there are indeed processes being pinned by kernal/unraid base software on the isolated cores: For example: [kworker/9:1H-kblockd] [ksoftirqd/9] Other processes using 'isolated' cores... ahci[0000:00:17.0] ahci[0000:07:00.0] xhci_hcd eth1-TxRx-x Which sits at around 5% CPU usage on this core. Based on this: https://honser.github.io/openstack/2019/11/17/Complete-Isolation-of-VM-resources/ I can add the following to syslinux to fully prevent other tasks using them: nohz_full & rcu_nocbs? Some users seem to have added this line: Anyone think of any reason why I would not add these terms? The reason I'm looking into this is due to getting stutters on the VM during gaming which appear to be processes using the VM cores briefly. Edited February 26, 20233 yr by Interstellar
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.