[PATCH RESEND v4] powerpc: kvm: fix rare but potential deadlock scene

Alexander Graf agraf at suse.de
Wed Nov 20 21:53:33 EST 2013



> Am 20.11.2013 um 03:42 schrieb Liu ping fan <kernelfans at gmail.com>:
> 
>> On Tue, Nov 19, 2013 at 6:39 PM, Alexander Graf <agraf at suse.de> wrote:
>> 
>>> On 19.11.2013, at 07:12, Liu Ping Fan <kernelfans at gmail.com> wrote:
>>> 
>>> Since kvmppc_hv_find_lock_hpte() is called from both virtmode and
>>> realmode, so it can trigger the deadlock.
>>> 
>>> Suppose the following scene:
>>> 
>>> Two physical cpuM, cpuN, two VM instances A, B, each VM has a group of
>>> vcpus.
>>> 
>>> If on cpuM, vcpu_A_1 holds bitlock X (HPTE_V_HVLOCK), then is switched
>>> out, and on cpuN, vcpu_A_2 try to lock X in realmode, then cpuN will be
>>> caught in realmode for a long time.
>>> 
>>> What makes things even worse if the following happens,
>>> On cpuM, bitlockX is hold, on cpuN, Y is hold.
>>> vcpu_B_2 try to lock Y on cpuM in realmode
>>> vcpu_A_2 try to lock X on cpuN in realmode
>>> 
>>> Oops! deadlock happens
>>> 
>>> Signed-off-by: Liu Ping Fan <pingfank at linux.vnet.ibm.com>
>> 
>> Any particular reason for the resend? The patch is already applied, no?
> Oh, seems that I misunderstood your meaning. You said "Actually, I've
> changed my mind and moved the patch to the for-3.13 branch instead.
> Please make sure to CC kvm at vger on all patches you submit though". So
> I think it is necessary to resend with cc kvm at vger

Oh. I meant "for next time" :). But now that it happened for this patch already it's even better.

Thanks a lot!

Alex

> 
> Regards,
> Pingfan


More information about the Linuxppc-dev mailing list