After upgrading the engine from 4.4.9 to 4.4.10, and then upgrading one host, any attempt to migrate a VM to that host or start a VM on that host results in the following error:

Number of hotpluggable cpus requested (16) exceeds the maximum cpus supported by KVM (8)

While the version of qemu is the same across hosts, (qemu-kvm-6.0.0-33.el8s.x86_64), I traced the difference to the upgraded kernel on the new host. I have always run elrepo's kernel-ml on these hosts to support bcache which RHEL's kernel doesn't support. The working hosts still run kernel-ml-5.15.12. The upgraded host ran kernel-ml-5.17.0.

In case anyone else runs kernel-ml, have you run into this issue?
Does anyone know why KVM's KVM_CAP_MAX_VCPUS value is lowered on the new kernel?
Does anyone know how to query the KVM capabilities from userspace without writing a program leveraging kvm_ioctl()'s?

Related to this, it seems that ovirt and/or libvirtd always runs qmu-kvm with an -smp argument of "maxcpus=16". This causes qemu's built-in check to fail on the new kernel which is supporting max_vpus of 8.

Why does ovirt always request maxcpus=16?

And yes, before you say it, I know you're going to say that running kernel-ml isn't supported.

--
Jillian Morgan (she/her) 🏳️‍⚧️
Systems & Networking Specialist
Primordial Software Group & I.T. Consultancy
https://www.primordial.ca