OS-5005: expose QEMU disk cache mode options through vmadm

Details

Issue Type:Improvement
Priority:4 - Normal
Status:Open
Created at:2015-12-04T06:23:59.000Z
Updated at:2018-09-25T22:24:15.811Z

People

Created by:Former user
Reported by:Former user

Related Issues

Description

QEMU provides several cache policies for emulated disks. At the moment, we use the default cache policy writethrough for all emulated disks -- data is written synchronously to disk before I/O completion is reported to the disk. Some operating systems (e.g. SmartOS) and filesystems (e.g. ZFS) may be able to make correct use of disks in writeback mode, i.e. cache flush commands will result in a blocking fsync(2) to the disk but other writes will be asynchronous. At present vmadm provides no way to change the policy at all, let alone on a per-disk basis.

We should do some testing to observe the writeback behaviour in guests that correctly use cache flushing commands. Testing should be performed against all supported emulated transports (e.g. IDE and VirtIO) and with confirmation that cache flushes in the guest result in fsync(2) on the host. It would be useful to quantify any performance improvement before committing to the new functionality -- obviously if there is no increase in performance, we should probably not bother.

This enhancement does not seek to change the default policy.

Comments

Comment by Former user
Created at 2018-09-25T22:24:15.811Z

I believe OS-6912 is in an analogous area for bhyve rather than KVM.