Bug 1038541

Summary: (ppc64) Please reenable KVM PR
Product: [Fedora] Fedora Reporter: Richard W.M. Jones <rjones>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: gansalmon, gustavold, itamar, jonathan, kernel-maint, madhu.chinakonda
Target Milestone: ---   
Target Release: ---   
Hardware: ppc64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-12-05 14:44:08 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Richard W.M. Jones 2013-12-05 10:05:46 UTC
Description of problem:

ppc64 has two forms of KVM called PR and HV.  PR is the "fake"
KVM added by Alex Graf which doesn't require hardware assistance.
HV is the hardware assisted version.  Until recently it wasn't
possible for PR & HV to be enabled in the same kernel, and for
this reason PR was disabled when HV was added/enabled.

However in >= 3.13 it is now possible to enable both PR & HV
together because an upstream patch series was added which
resolves the conflicts between the two.
[Search for "Allow PR and HV KVM to coexist in one kernel"]

This is a request that PR is reenabled once we have 3.13 available
for Fedora.

Version-Release number of selected component (if applicable):

kernel >= 3.13

Steps to Reproduce:
1. Use an Apple G5.
2. Check is /dev/kvm is available

Comment 1 Richard W.M. Jones 2013-12-05 10:12:53 UTC
BTW I believe the correct option is:
  CONFIG_KVM_BOOK3S_64_PR
but that appears to depend on:
  depends on KVM_BOOK3S_64 && !KVM_BOOK3S_64_HV
which is obviously not right.  Gustavo, any idea what
the correct option should be?

Comment 2 Josh Boyer 2013-12-05 13:55:25 UTC
(In reply to Richard W.M. Jones from comment #1)
> BTW I believe the correct option is:
>   CONFIG_KVM_BOOK3S_64_PR
> but that appears to depend on:
>   depends on KVM_BOOK3S_64 && !KVM_BOOK3S_64_HV
> which is obviously not right.  Gustavo, any idea what
> the correct option should be?

I'm not sure what kernel you are looking at, nor why this bug is against F20.  However, in the latest rawhide the options read as such:

config KVM_BOOK3S_64_HV
        tristate "KVM support for POWER7 and PPC970 using hypervisor mode in host"
        depends on KVM_BOOK3S_64
        select KVM_BOOK3S_HV_POSSIBLE
        select MMU_NOTIFIER
        select CMA

config KVM_BOOK3S_64_PR
        tristate "KVM support without using hypervisor mode in host"
        depends on KVM_BOOK3S_64
        select KVM_BOOK3S_PR_POSSIBLE


So the change to allow them is done by making them buildable as modules, and making it possible to load both modules.  At the moment, we have CONFIG_KVM_BOOK3S_64_HV=y.  We'd probably need to make both =m.

Comment 3 Richard W.M. Jones 2013-12-05 14:06:37 UTC
Yup, sorry, I didn't notice my git checkout was on a branch :-(

You're correct about upstream, and also that this should have been
filed against Rawhide.

Comment 4 Josh Boyer 2013-12-05 14:44:08 UTC
I've made the necessary changes on the ppc64 kernel.  I left the ppc64p7 kernel as it was because the PR module is likely much less useful there.  If we want them matching, we can make it so later.

I will note that ppc64 machines other than POWER7 aren't really the focus of the Fedora PPC sig these days, so you are likely on your own for issues with PR.

Comment 5 Gustavo Luiz Duarte 2013-12-05 14:57:36 UTC
(In reply to Josh Boyer from comment #4)
> I've made the necessary changes on the ppc64 kernel.  I left the ppc64p7
> kernel as it was because the PR module is likely much less useful there.  If
> we want them matching, we can make it so later.

Josh, we plan to use PR on POWER7 to do nested KVM (PR KVM on a HV KVM guest). So I think it would be useful to enable PR for ppc64p7 too.

Comment 6 Josh Boyer 2013-12-05 15:13:50 UTC
(In reply to Gustavo Luiz Duarte from comment #5)
> (In reply to Josh Boyer from comment #4)
> > I've made the necessary changes on the ppc64 kernel.  I left the ppc64p7
> > kernel as it was because the PR module is likely much less useful there.  If
> > we want them matching, we can make it so later.
> 
> Josh, we plan to use PR on POWER7 to do nested KVM (PR KVM on a HV KVM
> guest). So I think it would be useful to enable PR for ppc64p7 too.

OK.  config-powerpc64p7 now also updated to build both as modules.  Thanks for letting me know.