On Mon, 27 Jul 2020 17:47:58 +0100 Daniel P. Berrangé <berrange@xxxxxxxxxx> wrote: > 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. > I haven't tried to use PR within an LPAR on POWER9 but I expect it should be usable by QEMU if you pass options to the machine, eg. cap-large-decr=off for a start (and maybe some more). > 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. > The only known case where PR cannot work is POWER9+radix, in which case the module cannot be loaded. > Regards, > Daniel Cheers, -- Greg