From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefan Berger Subject: Re: Errors on MMIO read access on VM suspend / resume operations Date: Mon, 24 Jan 2011 13:27:42 -0500 Message-ID: <4D3DC49E.2000100@linux.vnet.ibm.com> References: <4D2C8305.2090609@linux.vnet.ibm.com> <4D2ED260.4010801@redhat.com> <4D30A38F.3030002@linux.vnet.ibm.com> <4D3303FD.8020509@redhat.com> <4D35030E.4080406@linux.vnet.ibm.com> <4D3554F4.6080405@siemens.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: Avi Kivity , kvm@vger.kernel.org, qemu-devel@nongnu.org To: Jan Kiszka Return-path: In-Reply-To: <4D3554F4.6080405@siemens.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: qemu-devel-bounces+gceq-qemu-devel=gmane.org@nongnu.org Errors-To: qemu-devel-bounces+gceq-qemu-devel=gmane.org@nongnu.org List-Id: kvm.vger.kernel.org On 01/18/2011 03:53 AM, Jan Kiszka wrote: > On 2011-01-18 04:03, Stefan Berger wrote: >> On 01/16/2011 09:43 AM, Avi Kivity wrote: >>> On 01/14/2011 09:27 PM, Stefan Berger wrote: >>>>> Can you sprinkle some printfs() arount kvm_run (in qemu-kvm.c) to >>>>> verify this? >>>>> >>>> Here's what I did: >>>> >>>> >>>> interrupt exit requested >>> It appears from this you're using qemu.git. Please try qemu-kvm.git, >>> where the code appears to be correct. >>> >> Cc'ing qemu-devel now. For reference, here the initial problem description: >> >> http://www.spinics.net/lists/kvm/msg48274.html >> >> I didn't know there was another tree... >> >> I have seen now a couple of suspends-while-reading with patches applied >> to the qemu-kvm.git tree and indeed, when run with the same host kernel >> and VM I do not see the debugging dumps due to double-reads that I would >> have anticipated seeing by now. Now what? Can this be easily fixed in >> the other Qemu tree as well? > Please give this a try: > > git://git.kiszka.org/qemu-kvm.git queues/kvm-upstream > > I bet (& hope) "kvm: Unconditionally reenter kernel after IO exits" > fixes the issue for you. If other problems pop up with that tree, also > try resetting to that particular commit. > > I'm currently trying to shake all those hidden or forgotten bug fixes > out of qemu-kvm and port them upstream. Most of those subtle differences > should hopefully soon be history. > I did the same test as I did with Avi's tree and haven't seen the consequences of possible double-reads. So, I would say that you should upstream those patches... I searched for the text you mention above using 'gitk' but couldn't find a patch with that headline in your tree. There were others that seem to be related: Gleb Natapov: "do not enter vcpu again if it was stopped during IO" >> One thing I'd like to mention is that I have seen what I think are >> interrupt stalls when running my tests inside the qemu-kvm.git tree >> version and not suspending at all. A some point the interrupt counter in >> the guest kernel does not increase anymore even though I see the device >> model raising the IRQ and lowering it. The same tests run literally >> forever in the qemu.git tree version of Qemu. > What about qemu-kmv and -no-kvm-irqchip? That seems to be necessary for both trees, yours and the one Avi pointed me to. If applied, then I did not see the interrupt problem. Stefan > Jan > From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=42765 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PhR8o-0001wa-3W for qemu-devel@nongnu.org; Mon, 24 Jan 2011 13:27:51 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PhR8l-0007a5-Nc for qemu-devel@nongnu.org; Mon, 24 Jan 2011 13:27:49 -0500 Received: from e32.co.us.ibm.com ([32.97.110.150]:44759) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PhR8l-0007Zi-II for qemu-devel@nongnu.org; Mon, 24 Jan 2011 13:27:47 -0500 Received: from d03relay03.boulder.ibm.com (d03relay03.boulder.ibm.com [9.17.195.228]) by e32.co.us.ibm.com (8.14.4/8.13.1) with ESMTP id p0OIHd30011881 for ; Mon, 24 Jan 2011 11:17:39 -0700 Received: from d03av05.boulder.ibm.com (d03av05.boulder.ibm.com [9.17.195.85]) by d03relay03.boulder.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id p0OIRim0084056 for ; Mon, 24 Jan 2011 11:27:44 -0700 Received: from d03av05.boulder.ibm.com (loopback [127.0.0.1]) by d03av05.boulder.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id p0OIRhYw027697 for ; Mon, 24 Jan 2011 11:27:43 -0700 Message-ID: <4D3DC49E.2000100@linux.vnet.ibm.com> Date: Mon, 24 Jan 2011 13:27:42 -0500 From: Stefan Berger MIME-Version: 1.0 References: <4D2C8305.2090609@linux.vnet.ibm.com> <4D2ED260.4010801@redhat.com> <4D30A38F.3030002@linux.vnet.ibm.com> <4D3303FD.8020509@redhat.com> <4D35030E.4080406@linux.vnet.ibm.com> <4D3554F4.6080405@siemens.com> In-Reply-To: <4D3554F4.6080405@siemens.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Re: Errors on MMIO read access on VM suspend / resume operations List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jan Kiszka Cc: Avi Kivity , kvm@vger.kernel.org, qemu-devel@nongnu.org On 01/18/2011 03:53 AM, Jan Kiszka wrote: > On 2011-01-18 04:03, Stefan Berger wrote: >> On 01/16/2011 09:43 AM, Avi Kivity wrote: >>> On 01/14/2011 09:27 PM, Stefan Berger wrote: >>>>> Can you sprinkle some printfs() arount kvm_run (in qemu-kvm.c) to >>>>> verify this? >>>>> >>>> Here's what I did: >>>> >>>> >>>> interrupt exit requested >>> It appears from this you're using qemu.git. Please try qemu-kvm.git, >>> where the code appears to be correct. >>> >> Cc'ing qemu-devel now. For reference, here the initial problem description: >> >> http://www.spinics.net/lists/kvm/msg48274.html >> >> I didn't know there was another tree... >> >> I have seen now a couple of suspends-while-reading with patches applied >> to the qemu-kvm.git tree and indeed, when run with the same host kernel >> and VM I do not see the debugging dumps due to double-reads that I would >> have anticipated seeing by now. Now what? Can this be easily fixed in >> the other Qemu tree as well? > Please give this a try: > > git://git.kiszka.org/qemu-kvm.git queues/kvm-upstream > > I bet (& hope) "kvm: Unconditionally reenter kernel after IO exits" > fixes the issue for you. If other problems pop up with that tree, also > try resetting to that particular commit. > > I'm currently trying to shake all those hidden or forgotten bug fixes > out of qemu-kvm and port them upstream. Most of those subtle differences > should hopefully soon be history. > I did the same test as I did with Avi's tree and haven't seen the consequences of possible double-reads. So, I would say that you should upstream those patches... I searched for the text you mention above using 'gitk' but couldn't find a patch with that headline in your tree. There were others that seem to be related: Gleb Natapov: "do not enter vcpu again if it was stopped during IO" >> One thing I'd like to mention is that I have seen what I think are >> interrupt stalls when running my tests inside the qemu-kvm.git tree >> version and not suspending at all. A some point the interrupt counter in >> the guest kernel does not increase anymore even though I see the device >> model raising the IRQ and lowering it. The same tests run literally >> forever in the qemu.git tree version of Qemu. > What about qemu-kmv and -no-kvm-irqchip? That seems to be necessary for both trees, yours and the one Avi pointed me to. If applied, then I did not see the interrupt problem. Stefan > Jan >