On Fri, Mar 23, 2012 at 11:02 AM, Richard Davies <rich...@arachsys.com> wrote: > 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.
Thanks for pointing out that Linux falls back too. Stefan