[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] block: add the support to drain throttled reque
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH] block: add the support to drain throttled requests |
Date: |
Fri, 23 Mar 2012 16:56:28 +0000 |
On Fri, Mar 23, 2012 at 11:32 AM, Stefan Hajnoczi <address@hidden> wrote:
> On Fri, Mar 23, 2012 at 11:02 AM, Richard Davies <address@hidden> 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.
I have a prototype that converts hw/ide/core.c to asynchronous I/O
functions. It still needs to be cleaned up and tested against Windows
(Linux with libata.dma=0 is happy). Patches will be sent next week.
Stefan
- Re: [Qemu-devel] [PATCH] block: add the support to drain throttled requests, (continued)
- Re: [Qemu-devel] [PATCH] block: add the support to drain throttled requests, Zhi Yong Wu, 2012/03/20
- Re: [Qemu-devel] [PATCH] block: add the support to drain throttled requests, Paolo Bonzini, 2012/03/20
- Re: [Qemu-devel] [PATCH] block: add the support to drain throttled requests, Kevin Wolf, 2012/03/20
- Re: [Qemu-devel] [PATCH] block: add the support to drain throttled requests, Stefan Hajnoczi, 2012/03/20
- Re: [Qemu-devel] [PATCH] block: add the support to drain throttled requests, Chris Webb, 2012/03/22
- Re: [Qemu-devel] [PATCH] block: add the support to drain throttled requests, Stefan Hajnoczi, 2012/03/23
- Re: [Qemu-devel] [PATCH] block: add the support to drain throttled requests, Chris Webb, 2012/03/23
- Re: [Qemu-devel] [PATCH] block: add the support to drain throttled requests, Stefan Hajnoczi, 2012/03/23
- Re: [Qemu-devel] [PATCH] block: add the support to drain throttled requests, Richard Davies, 2012/03/23
- Re: [Qemu-devel] [PATCH] block: add the support to drain throttled requests, Stefan Hajnoczi, 2012/03/23
- Re: [Qemu-devel] [PATCH] block: add the support to drain throttled requests,
Stefan Hajnoczi <=
- Re: [Qemu-devel] [PATCH] block: add the support to drain throttled requests, Stefan Hajnoczi, 2012/03/26
- Re: [Qemu-devel] [PATCH] block: add the support to drain throttled requests, Kevin Wolf, 2012/03/26
- Re: [Qemu-devel] [PATCH] block: add the support to drain throttled requests, Zhi Yong Wu, 2012/03/27
- Re: [Qemu-devel] [PATCH] block: add the support to drain throttled requests, Stefan Hajnoczi, 2012/03/27
Re: [Qemu-devel] [PATCH] block: add the support to drain throttled requests, Kevin Wolf, 2012/03/20