Bug 611558 - RFE: Disk I/O: control disk I/O priority via cgroups blkio controller
RFE: Disk I/O: control disk I/O priority via cgroups blkio controller
Status: CLOSED CURRENTRELEASE
Product: Virtualization Tools
Classification: Community
Component: libvirt (Show other bugs)
unspecified
All All
low Severity medium
: ---
: ---
Assigned To: Libvirt Maintainers
:
Depends On:
Blocks: libvirtTodoHV
  Show dependency treegraph
 
Reported: 2010-07-05 11:54 EDT by Коренберг Марк
Modified: 2016-03-20 20:15 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-03-20 20:15:58 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description Коренберг Марк 2010-07-05 11:54:51 EDT
This is missing feature of libvirt. Vmware is able to set priority. libvirt does not :(
Comment 1 Daniel Berrange 2010-07-21 12:47:28 EDT
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-22 20:06:24 EST
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-20 20:15:58 EDT
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.