From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:51486) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SB2GZ-00012Z-Hd for qemu-devel@nongnu.org; Fri, 23 Mar 2012 07:02:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SB2GT-0001rs-B7 for qemu-devel@nongnu.org; Fri, 23 Mar 2012 07:02:43 -0400 Received: from alpha.arachsys.com ([91.203.57.7]:41186) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SB2GT-0001re-5w for qemu-devel@nongnu.org; Fri, 23 Mar 2012 07:02:37 -0400 Date: Fri, 23 Mar 2012 11:02:30 +0000 From: Richard Davies Message-ID: <20120323110230.GK17656@alpha.arachsys.com> References: <1331603611-9103-1-git-send-email-zwu.kernel@gmail.com> <4F685230.9040209@redhat.com> <4F6854B2.8000209@redhat.com> <20120320114442.GA30819@stefanha-thinkpad.localdomain> <20120322190751.GA12145@arachsys.com> <20120323103814.GA21835@stefanha-thinkpad.localdomain> <20120323104327.GE19671@arachsys.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Subject: Re: [Qemu-devel] [PATCH] block: add the support to drain throttled requests List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi Cc: Kevin Wolf , Chris Webb , Stefan Hajnoczi , qemu-devel@nongnu.org, Zhi Yong Wu , Zhi Yong Wu , Paolo Bonzini Stefan Hajnoczi wrote: > > Hi. We were producing the IDE assert()s and deadlocks with linux kernels. > > Although I believe the same symptoms exist on windows, I haven't actually > > tested it myself. Typically they would show up in the 16-bit bootloader > > code, even before the 32-bit OS has started. > > Okay, that makes sense. Bootloaders and the BIOS may use the simplest > driver interface - which may be PIO in the case. I asked because the > IDE DMA code path should work with I/O throttling and Windows is known > for sometimes falling back to the PIO code path when some heuristics > trigger. Whilst the bootloader was the easiest place for us to replicate this deadlock, we have also seen it with running Linux VMs. Older Linux kernels (e.g. CentOS 5) will fall back to PIO mode on IDE devices if they experience storage timeouts (e.g. due to heavy contention of underlying storage from other VMs). Hence, the IO limits deadlock can lead to running Linux VMs locking up as well as just Windows and Linux bootloaders. Cheers, Richard.