From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gleb Natapov Subject: Re: [PATCH] Allow to call vm_stop from vcpu thread Date: Thu, 15 Jan 2009 15:47:35 +0200 Message-ID: <20090115134735.GC11299@redhat.com> References: <20090115132327.GB11299@redhat.com> <496F3D95.2040901@siemens.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: kvm@vger.kernel.org To: Jan Kiszka Return-path: Received: from mx2.redhat.com ([66.187.237.31]:38914 "EHLO mx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1760216AbZAONtL (ORCPT ); Thu, 15 Jan 2009 08:49:11 -0500 Content-Disposition: inline In-Reply-To: <496F3D95.2040901@siemens.com> Sender: kvm-owner@vger.kernel.org List-ID: On Thu, Jan 15, 2009 at 02:43:49PM +0100, Jan Kiszka wrote: > Gleb Natapov wrote: > > Signed-off-by: Gleb Natapov > > diff --git a/qemu/qemu-kvm.c b/qemu/qemu-kvm.c > > index e4fba78..484a232 100644 > > --- a/qemu/qemu-kvm.c > > +++ b/qemu/qemu-kvm.c > > @@ -296,11 +296,15 @@ static void pause_all_threads(void) > > { > > CPUState *penv = first_cpu; > > > > - assert(!cpu_single_env); > > - > > while (penv) { > > - penv->kvm_cpu_state.stop = 1; > > - pthread_kill(penv->kvm_cpu_state.thread, SIG_IPI); > > + if (penv != cpu_single_env) { > > + penv->kvm_cpu_state.stop = 1; > > + pthread_kill(penv->kvm_cpu_state.thread, SIG_IPI); > > + } else { > > + penv->kvm_cpu_state.stop = 0; > > + penv->kvm_cpu_state.stopped = 1; > > + cpu_interrupt(penv, CPU_INTERRUPT_EXIT); > > + } > > penv = (CPUState *)penv->next_cpu; > > } > > Who do you have in mind to use this? At least the debugging I need this for ENOSPC patches. When IDE is in PIO mode KVM do synchronous writes from vcpu context. We have to be able to call vm_stop() if synchronous write returns ENOSPC. > infrastructure could do so, but I do not recall ATM if there were > limitations that the above change may not overcome. Maybe you could test > your patch by changing (probably simplifying) the path from a breakpoint > hit to vm_stop. > I am testing it with my ENOSPC patches and 2 cpus and don't see any ill effects yet. -- Gleb.