I have been told by some application owners that VMs, specifically ones running linux, require an even number of vCPUs or they will experience performance issues. I was told that for linux the scheduler will start having trouble scheduling threads which will cause the CPU to thrash.
I started researching whether or not VMs should be provisioned with an even number of vCPUs and have found little information on the subject. All hypervisor platforms support configuring a VM with an odd number of vCPUs and turbonomics will make size up recommendations in odd increments or that would result in the VM having an odd number of vCPUs. I would think that this would not be the case if it was known to cause performance issues.
So far it seems like people stick to even numbers because that's what you had to do when purchasing physical hardware before virtualization, even though physical CPUs with odd numbers of cores do exist. It's a pre virtualization mindset that has persisted because thats how people always did it.
Has anyone deal't with this issue before? Does your organization have a stance on provisioning VMs with odd numbers of vCPUs and if so why?