mirror of
https://github.com/virt-manager/virt-manager.git
synced 2025-02-25 18:55:27 -06:00
Enable cache=None and io=native by default for block devices
This is where performance issues hit the most. This changes the RHEL default to remove cache=None for all file volumes. If anyone cares they can speak up, but it seems an overly unnecessary deviation from upstream qemu.
This commit is contained in:
parent
8d59a7132b
commit
fb7868db19
@ -206,7 +206,8 @@ def read_file(filename):
|
||||
def diff_compare(actual_out, filename=None, expect_out=None):
|
||||
"""Compare passed string output to contents of filename"""
|
||||
if not expect_out:
|
||||
#file(filename, "w").write(actual_out)
|
||||
#if filename:
|
||||
# file(filename, "w").write(actual_out)
|
||||
expect_out = read_file(filename)
|
||||
|
||||
diff = "".join(difflib.unified_diff(expect_out.splitlines(1),
|
||||
|
@ -25,7 +25,7 @@
|
||||
<target dev="vda" bus="virtio"/>
|
||||
</disk>
|
||||
<disk type="block" device="disk">
|
||||
<driver name="qemu" type="raw"/>
|
||||
<driver name="qemu" type="raw" cache="none" io="native"/>
|
||||
<source dev="/dev/disk-pool/diskvol1"/>
|
||||
<target dev="vdb" bus="virtio"/>
|
||||
</disk>
|
||||
|
@ -29,7 +29,7 @@
|
||||
<target dev="vda" bus="virtio"/>
|
||||
</disk>
|
||||
<disk type="block" device="disk">
|
||||
<driver name="qemu" type="raw"/>
|
||||
<driver name="qemu" type="raw" cache="none" io="native"/>
|
||||
<source dev="/dev/disk-pool/diskvol1"/>
|
||||
<target dev="vdb" bus="virtio"/>
|
||||
</disk>
|
||||
|
@ -29,7 +29,7 @@
|
||||
<target dev="vda" bus="virtio"/>
|
||||
</disk>
|
||||
<disk type="block" device="disk">
|
||||
<driver name="qemu" type="raw"/>
|
||||
<driver name="qemu" type="raw" cache="none" io="native"/>
|
||||
<source dev="/dev/disk-pool/diskvol1"/>
|
||||
<target dev="vdb" bus="virtio"/>
|
||||
</disk>
|
||||
|
@ -29,7 +29,7 @@
|
||||
<target dev="vda" bus="virtio"/>
|
||||
</disk>
|
||||
<disk type="block" device="disk">
|
||||
<driver name="qemu" type="raw"/>
|
||||
<driver name="qemu" type="raw" cache="none" io="native"/>
|
||||
<source dev="/dev/disk-pool/diskvol1"/>
|
||||
<target dev="vdb" bus="virtio"/>
|
||||
</disk>
|
||||
|
@ -29,7 +29,7 @@
|
||||
<target dev="vda" bus="virtio"/>
|
||||
</disk>
|
||||
<disk type="block" device="disk">
|
||||
<driver name="qemu" type="raw"/>
|
||||
<driver name="qemu" type="raw" cache="none" io="native"/>
|
||||
<source dev="/dev/disk-pool/diskvol1"/>
|
||||
<target dev="vdb" bus="virtio"/>
|
||||
</disk>
|
||||
|
@ -24,7 +24,7 @@
|
||||
<target dev="fda" bus="fdc"/>
|
||||
</disk>
|
||||
<disk type="file" device="disk">
|
||||
<driver name="qemu" type="raw" cache="none"/>
|
||||
<driver name="qemu" type="raw"/>
|
||||
<source file="/tmp/test.img"/>
|
||||
<target dev="vda" bus="virtio"/>
|
||||
</disk>
|
||||
|
@ -29,7 +29,7 @@
|
||||
<target dev="vda" bus="virtio"/>
|
||||
</disk>
|
||||
<disk type="block" device="disk">
|
||||
<driver name="qemu" type="raw"/>
|
||||
<driver name="qemu" type="raw" cache="none" io="native"/>
|
||||
<source dev="/dev/disk-pool/diskvol1"/>
|
||||
<target dev="vdb" bus="virtio"/>
|
||||
</disk>
|
||||
|
@ -21,7 +21,7 @@
|
||||
<devices>
|
||||
<emulator>/usr/lib/xen/bin/qemu-dm</emulator>
|
||||
<disk type="block" device="disk">
|
||||
<driver name="qemu" type="raw"/>
|
||||
<driver name="qemu" type="raw" cache="none" io="native"/>
|
||||
<source dev="/dev/disk-pool/diskvol1"/>
|
||||
<target dev="hda" bus="ide"/>
|
||||
</disk>
|
||||
|
@ -26,7 +26,7 @@
|
||||
<target dev="hda" bus="ide"/>
|
||||
</disk>
|
||||
<disk type="block" device="disk">
|
||||
<driver name="qemu" type="raw"/>
|
||||
<driver name="qemu" type="raw" cache="none" io="native"/>
|
||||
<source dev="/iscsi-pool/diskvol1"/>
|
||||
<target dev="hdb" bus="ide"/>
|
||||
</disk>
|
||||
|
@ -31,7 +31,7 @@
|
||||
<target dev="vda" bus="virtio"/>
|
||||
</disk>
|
||||
<disk type="block" device="disk">
|
||||
<driver name="qemu" type="raw"/>
|
||||
<driver name="qemu" type="raw" cache="none" io="native"/>
|
||||
<source dev="/dev/disk-pool/diskvol1"/>
|
||||
<target dev="vdb" bus="virtio"/>
|
||||
</disk>
|
||||
|
@ -29,7 +29,7 @@
|
||||
<target dev="vda" bus="virtio"/>
|
||||
</disk>
|
||||
<disk type="block" device="disk">
|
||||
<driver name="qemu" type="raw"/>
|
||||
<driver name="qemu" type="raw" cache="none" io="native"/>
|
||||
<source dev="/dev/disk-pool/diskvol1"/>
|
||||
<target dev="vdb" bus="virtio"/>
|
||||
</disk>
|
||||
|
@ -25,7 +25,7 @@
|
||||
<target dev="hda" bus="ide"/>
|
||||
</disk>
|
||||
<disk type="block" device="disk">
|
||||
<driver name="qemu" type="raw"/>
|
||||
<driver name="qemu" type="raw" cache="none" io="native"/>
|
||||
<source dev="/dev/disk-pool/diskvol1"/>
|
||||
<target dev="hdb" bus="ide"/>
|
||||
</disk>
|
||||
|
@ -24,7 +24,7 @@
|
||||
<target dev="hda" bus="ide"/>
|
||||
</disk>
|
||||
<disk type="block" device="disk">
|
||||
<driver name="qemu" type="raw"/>
|
||||
<driver name="qemu" type="raw" cache="none" io="native"/>
|
||||
<source dev="/dev/disk-pool/diskvol1"/>
|
||||
<target dev="hdb" bus="ide"/>
|
||||
</disk>
|
||||
|
@ -24,7 +24,7 @@
|
||||
<target dev="hda" bus="ide"/>
|
||||
</disk>
|
||||
<disk type="block" device="disk">
|
||||
<driver name="qemu" type="raw"/>
|
||||
<driver name="qemu" type="raw" cache="none" io="native"/>
|
||||
<source dev="/dev/disk-pool/diskvol1"/>
|
||||
<target dev="hdb" bus="ide"/>
|
||||
</disk>
|
||||
|
@ -28,7 +28,6 @@ import re
|
||||
|
||||
import urlgrabber.progress as progress
|
||||
|
||||
import virtinst
|
||||
from virtinst import diskbackend
|
||||
from virtinst import util
|
||||
from virtinst import VirtualDevice
|
||||
@ -716,26 +715,24 @@ class VirtualDisk(VirtualDevice):
|
||||
if volobj:
|
||||
self._change_backend(None, volobj)
|
||||
|
||||
def _set_rhel_defaults(self):
|
||||
if not self.conn.is_qemu():
|
||||
return
|
||||
if not self.is_disk():
|
||||
return
|
||||
|
||||
# Enable cache=none for disk devs
|
||||
if not self.driver_cache:
|
||||
self.driver_cache = self.CACHE_MODE_NONE
|
||||
|
||||
# Enable AIO native for block devices
|
||||
if (not self.driver_io and self.type == self.TYPE_BLOCK):
|
||||
self.driver_io = self.IO_MODE_NATIVE
|
||||
|
||||
def set_defaults(self):
|
||||
if self.is_cdrom():
|
||||
self.read_only = True
|
||||
|
||||
if virtinst.enable_rhel_defaults:
|
||||
self._set_rhel_defaults()
|
||||
if not self.conn.is_qemu():
|
||||
return
|
||||
if not self.is_disk():
|
||||
return
|
||||
if not self.type == self.TYPE_BLOCK:
|
||||
return
|
||||
|
||||
# Enable cache=none and io=native for block devices. Would
|
||||
# be nice if qemu did this for us but that time has long passed.
|
||||
if not self.driver_cache:
|
||||
self.driver_cache = self.CACHE_MODE_NONE
|
||||
if not self.driver_io:
|
||||
self.driver_io = self.IO_MODE_NATIVE
|
||||
|
||||
|
||||
def is_size_conflict(self):
|
||||
"""
|
||||
|
Loading…
Reference in New Issue
Block a user