On Mon, Jul 27, 2020 at 01:44:07PM -0300, Daniel Henrique Barboza wrote: > > > On 7/27/20 12:29 PM, Daniel P. Berrangé wrote: > > On Fri, Jun 19, 2020 at 06:04:33PM -0300, Daniel Henrique Barboza wrote: > > > PPC64 has two KVM modules: kvm_hv and kvm_pr. The official supported > > > module was always kvm_hv, while kvm_pr was used for internal testing > > > or for very niche cases in Power 8 hosts, always without official > > > IBM or distro support. > > > > > > Problem is, QMP will report KVM supportfor PPC64 if any of these > > > modules is loaded in the host, and kvm_pr is broken in everything > > > but Power8 (and will remain broken, since kvm_pr is unmaintained). > > > This can lead to situations like [1], where the tooling is misled to > > > believe that the host has KVM capabilities when in reality it > > > doesn't. > > > > > > The first reaction would be to simply forsake kvm_pr support entirely > > > and move on, but there is no reason for now to be disruptive with any > > > Power8 guests in the wild that are using kvm_pr (somehow). A more > > > subtle approach is to not claim QEMU_CAPS_KVM support in all cases > > > that we know it's completely broken, allowing Power8 users to take > > > their shot using kvm_pr in their VMs. We can remove kvm_pr support > > > completely when the module is removed from the kernel. > > > > I'm not sure libvirt should be forbidding this use of kvm_pr > > on non-Power8. IIUC, it is the only impl that can actually be > > used when in a Power9 LPARs. This patch is essentially saying > > that TCG is better for Power LPARs than kvm_pr which I think > > is not right. > > We didn't work in kvm_pr support for Power 9. All the effort was put > into implementing nested virtualization with the kvm_hv module. The > fact that kvm_pr module loads in Power 9 is kind of an "accident". > As you can see in the bug linked, it's non-functional. If kvm_pr is known to be broken in Power 9 LPARs, then that is an upstream kernel bug for allowing it to be loaded under Power 9 at all. Can we fix the kernel to prevent it loading in cases where it is known to be bad. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|