[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-discuss] QEMU caching modes
From: |
Jan Schermer |
Subject: |
Re: [Qemu-discuss] QEMU caching modes |
Date: |
Tue, 21 Mar 2017 10:11:53 +0100 |
It should be.
But even if it is, the data _won't_ be coherent because write ordering will be
non-existent. This will mess up most filesystems.
Jan
> On 20 Mar 2017, at 22:01, Narcis Garcia <address@hidden> wrote:
>
> When cache=unsafe , is the data flushed as configured in host's Linux
> kernel?
> dirty_expire_centisecs
> dirty_writeback_centisecs
>
> El 20/03/17 a les 17:21, Alberto Garcia ha escrit:
>> On Fri, Mar 17, 2017 at 09:52:27PM +0100, Jan Schermer wrote:
>>
>>> I'm trying to understand when/what IO is synchronous and why, and so
>>> far what I'm seeing I can only describe as "weird".
>>>
>>> With cache=none, all IO should pass from the QEMU process to the device
>>> as-is. Right?
>>
>> Here's the summary of what the 'cache' option does in practice:
>>
>> cache=none -> direct I/O (the host page cache is bypassed).
>> See O_DIRECT in open(2)
>>
>> cache=directsync -> direct I/O + flush after each write
>>
>> cache=writethrough -> flush after each write
>>
>> cache=unsafe -> guests flushes are ignored
>>
>> cache=writeback -> no special options (this is the default)
>>
>>> If so, that's not what I see - I see (with btrace) write IO as
>>> asynchronous (W) in the guest, but synchronous (WS) on the host.
>>
>> Looks like what you're seeing is the direct I/O.
>>
>> Berto
>>
>