Re: [PATCH] virtio-blk: set QUEUE_ORDERED_DRAIN by default

Rusty Russell
2009-08-28T01:15:34Z

On Thu, 27 Aug 2009 08:34:19 pm Avi Kivity wrote:
> There are two possible semantics to cache=writeback:
>
> - simulate a drive with a huge write cache; use fsync() to implement
> barriers
> - tell the host that we aren't interested in data integrity, lie to the
> guest to get best performance

Why lie to the guest? Just say we're not ordered, and don't support barriers.
Gets even *better* performance since it won't drain the queues.

Maybe you're thinking of full virtualization where we guest ignorance is
bliss. But lying always gets us in trouble later on when other cases come
up.

> The second semantic is not useful for production, but is very useful for
> testing out things where you aren't worries about host crashes and
> you're usually rebooting the guest very often (you can't rely on guest
> caches, so you want the host to cache).

This is not the ideal world; people will do things for performance "in
production".

Cheers,
Rusty.