On Fri, Jun 12, 2020 at 12:25 AM Samuel Sieb <samuel@xxxxxxxx> wrote: > > On 6/11/20 8:46 PM, Gordon Messmer wrote: > > On 6/11/20 3:09 PM, Patrick O'Callaghan wrote: > >> It relates to competition in the sense that keeping host and guest to > >> disjoint sets of cores avoids them competing for the same cores and > >> hence contaminating the respective caches. That's all I mean. Don't > >> read too much into it. Clearly the whole set is still being scheduled > >> by the host system. > > > > > > Oh, now I see what you're getting at. If I'm wrong, I hope someone > > chimes in to correct me: > > > > Setting the CPU affinity of a process in Linux (which is what we're > > talking about) will cause the scheduler to always schedule the process > > on those CPUs, but it doesn't prevent the kernel or any other process > > from using those CPUs. That is, it doesn't reserve those CPUs for the > > exclusive use of the process that you're setting the affinity for. So, > > it's not minimizing competition in the way that you think it is, if I > > understand what you're getting at. > > You can also specify that certain cores are dedicated to certain > processes and the kernel won't schedule anything else on them. Only if you make sure none of the major interrupts are being handled on those cpus, and it still gets tricky to make sure all other processes aren't allowed to use those cpus. And interrupts still could get moved to the given cpus. And still on top of that if hyperthreading is being used it may "steal" cpu cycles away from the other thread. I have ran benchmarks were just having the ht cpu "on" almost 100% idle resulted in the thread in the other thread running 1-2% slower (this was a single core being benchmarks with the os itself being for the most part all that was running on a 60+ core machine). And that was with the hyperthread basically competely idle, if something else is working on the other thread then things slow down even more as it is stealing even more cycles. And then if you have a hypervisor that is not linux and outside of the current linux instance, then you also never know exactly what it is also doiing and/or if each cpu you get each timesplice is even actually the same cpu. _______________________________________________ users mailing list -- users@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to users-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/users@xxxxxxxxxxxxxxxxxxxxxxx