Bug 611558 - RFE: Disk I/O: control disk I/O priority via cgroups blkio controller
Summary: RFE: Disk I/O: control disk I/O priority via cgroups blkio controller
Alias: None
Product: Virtualization Tools
Classification: Community
Component: libvirt   
(Show other bugs)
Version: unspecified
Hardware: All
OS: All
Target Milestone: ---
Assignee: Libvirt Maintainers
QA Contact:
Depends On:
Blocks: libvirtTodoHV
TreeView+ depends on / blocked
Reported: 2010-07-05 15:54 UTC by Коренберг Марк
Modified: 2016-03-21 00:15 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2016-03-21 00:15:58 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

Description Коренберг Марк 2010-07-05 15:54:51 UTC
This is missing feature of libvirt. Vmware is able to set priority. libvirt does not :(

Comment 1 Daniel Berrange 2010-07-21 16:47:28 UTC
The 'nice' and 'ionice' tunables aren't useful in a KVM scenario because they apply to individual $PIDs. KVM has separate thread per vCPU, plus many background threads. So it is necessary to apply the tunables to the entire process, not just individual PIDs. 

For 'nice' equivalent, libvirt already supports the cgroups 'cpu' controller which exposes a 'cpu_shares' tunable. This lets you set relative priorities between VMs. eg VM A has cpu_shares of 512 and VM B has 1024, then VM B will be given twice the CPU running time of A.

For 'ionice', libvirt will need to integrate with cgroups again, this time the 'blkio' controller which lets disk IO be limited. This is a future work item

Comment 2 Frank Ch. Eigler 2015-02-23 01:06:24 UTC
By the way, ionice still seems relevant to libvirt backends like qemu,
even with cgroups.  cgroups does not seem to expose the same knob as
used for ionice classification.  Nor does it seem to apply to buffered
i/o (such as likely would be the case for the libvirt 'writeback' i/o model).

Comment 3 Cole Robinson 2016-03-21 00:15:58 UTC
Libvirt has supported blkiotune commands and XML for a while now, so I think this is fixed. If anyone wants to address the question about 'ionice' I suggest filing a new bug

Note You need to log in before you can comment on or make changes to this bug.