Issue Type: | Improvement |
---|---|
Priority: | 4 - Normal |
Status: | Open |
Created at: | 2015-12-04T06:23:59.000Z |
Updated at: | 2018-09-25T22:24:15.811Z |
Created by: | Former user |
---|---|
Reported by: | Former user |
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.