Re: [PATCHSET v3][RFC] Make background writeback not suck

From: Jens Axboe
Date: Fri Apr 01 2016 - 10:34:50 EST


On 04/01/2016 12:27 AM, Dave Chinner wrote:
On Thu, Mar 31, 2016 at 09:25:33PM -0600, Jens Axboe wrote:
On 03/31/2016 06:46 PM, Dave Chinner wrote:
virtio in guest, XFS direct IO -> no-op -> scsi in host.

That has write back caching enabled on the guest, correct?

No. It uses virtio,cache=none (that's the "XFS Direct IO" bit above).
Sorry for not being clear about that.

That's fine, it's one less worry if that's not the case. So if you
cat the 'write_cache' file in the virtioblk sysfs block queue/
directory, it says 'write through'? Just want to confirm that we got
that propagated correctly.

No such file. But I did find:

$ cat /sys/block/vdc/cache_type
write back

Which is what I'd expect it to safe given the man page description
of cache=none:

Note that this is considered a writeback mode and the guest
OS must handle the disk write cache correctly in order to
avoid data corruption on host crashes.

To make it say "write through" I need to use cache=directsync, but
I have no need for such integrity guarantees on a volatile test
device...

I wasn't as concerned about the integrity side, more if it's flagged as write back then we induce further throttling. But I'll see if I can get your test case reproduced, then I don't see why it can't get fixed. I'm off all of next week though, so probably won't be until the week after...

--
Jens Axboe