On Wed, Mar 25, 2015 at 02:42:24PM +0530, Bharata B Rao wrote: > On Wed, Mar 25, 2015 at 04:24:39PM +1100, David Gibson wrote: > > On Mon, Mar 23, 2015 at 07:05:58PM +0530, Bharata B Rao wrote: > > > When supporting CPU hot removal by parking the vCPU fd and reusing > > > it during hotplug again, there can be cases where we try to reenable > > > KVM_CAP_IRQ_XICS CAP for the vCPU for which it was already enabled. > > > Introduce a boolean member in ICPState to track this and don't > > > reenable the CAP if it was already enabled earlier. > > > > > > This change allows CPU hot removal to work for sPAPR. > > > > > > Signed-off-by: Bharata B Rao <bhar...@linux.vnet.ibm.com> > > > > Why does double enabling the capability cause problems? I would have > > expected it to be unnecessary, but harmless. > > We are reusing the vCPU here w/o closing its fd. > > As things stand currently, enabling this cap again will result in > kernel trying to create and associate ICP with this vCPU and that > fails since there is already an ICP associated with it. > > Ref: arch/powerpc/kvm/book3s_xics.c:kvmppc_xics_connect_vcpu() kernel code.
Ah, right. Sounds like a kernel bug - I would expect enabling a capability to be idempotent. But since the bug's there, we have to work around it now, so ok. > So this patch will ensure that we don't renable this cap. > > Regards, > Bharata. > -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
pgplWzIJHGGK4.pgp
Description: PGP signature