Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 633394 - [6.1 FEAT] virtio-blk ioeventfd support
[6.1 FEAT] virtio-blk ioeventfd support
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: qemu-kvm (Show other bugs)
6.1
x86_64 All
low Severity medium
: rc
: 6.1
Assigned To: Michael S. Tsirkin
Virtualization Bugs
: FutureFeature, OtherQA
Depends On:
Blocks: 538808 580954 698340
  Show dependency treegraph
 
Reported: 2010-09-13 13:25 EDT by IBM Bug Proxy
Modified: 2013-01-09 18:08 EST (History)
17 users (show)

See Also:
Fixed In Version: qemu-kvm-0.12.1.2-2.135.el6
Doc Type: Enhancement
Doc Text:
The qemu-kvm virtio-blk code now support for ioeventfd, which results in improved performance and scalability by decoupling guest code execution from virtio hardware emulation. This decoupling allows the guest CPU and I/O to run in parallel and ensures that less time is taken from the guest.
Story Points: ---
Clone Of:
Environment:
Last Closed: 2011-05-19 07:34:22 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
IBM Linux Technology Center 67241 None None None Never
Red Hat Product Errata RHSA-2011:0534 normal SHIPPED_LIVE Important: qemu-kvm security, bug fix, and enhancement update 2011-05-19 07:20:36 EDT

  None (edit)
Description IBM Bug Proxy 2010-09-13 13:25:04 EDT
1. Feature Overview:
Feature Id: [67241]
a. Name of Feature: [6.1 FEAT] virtio-blk ioeventfd support
b. Feature Description
Virtio ioeventfd increases performance and scalability by decoupling guest code execution from
virtio hardware emulation, reducing the amount of time stolen from the guest and allowing guest CPU
and I/O to run in parallel.

2. Feature Details:
Sponsor: LTC Open Virtualization
Architectures:  x86_64, 

Arch Specificity: purely common code
Affects Kernel Modules: Field does not exist
Delivery Mechanism: Direct from Community
Category: other
Request Type: Package - Update Version
d. Upstream Acceptance: Field does not exist
Sponsor Priority P3
f. Severity: normal
IBM Confidential: No
Code Contribution: IBM code
g. Component Version Target:---

3. Business Case
Improved performance of virtio-blk and virtio-net devices in KVM VMs to better compete with other
industry hypervisor solutions.

4. Primary contact at Red Hat:
John Jarvis jjarvis@redhat.com

5. Primary contacts at Partner:
Project Management Contact:
Michael W. Wortman, wortman@us.ibm.com

Technical contact(s):
Stefan Hajnoczi, stefan.hajnoczi@uk.ibm.com
Comment 2 John Jarvis 2010-09-21 17:20:39 EDT
What is the component for this and is it upstream?  Please provide more details about is being requested here.
Comment 3 IBM Bug Proxy 2010-09-22 05:20:39 EDT
------- Comment From stefan.hajnoczi@uk.ibm.com 2010-09-22 05:18 EDT-------
The component is userspace QEMU.  Patches will be sent for upstream soon, the code is written.
Comment 4 IBM Bug Proxy 2010-10-04 12:37:58 EDT
------- Comment From rsisk@us.ibm.com 2010-10-04 10:40 EDT-------
Code Upstream Status: Not evaluated
Comment 5 IBM Bug Proxy 2010-11-15 08:21:23 EST
------- Comment From stefan.hajnoczi@uk.ibm.com 2010-11-15 08:17 EDT-------
Apologies, the status should be OPEN.  I have submitted patches upstream but they have not been merged and I have not provided a backport yet.
Comment 9 RHEL Product and Program Management 2011-01-06 23:30:47 EST
This request was evaluated by Red Hat Product Management for
inclusion in the current release of Red Hat Enterprise Linux.
Because the affected component is not scheduled to be updated
in the current release, Red Hat is unfortunately unable to
address this request at this time. Red Hat invites you to
ask your support representative to propose this request, if
appropriate and relevant, in the next release of Red Hat
Enterprise Linux. If you would like it considered as an
exception in the current release, please ask your support
representative.
Comment 10 Suzanne Yeghiayan 2011-01-07 11:13:35 EST
This request was erroneously denied for the current release of Red Hat
Enterprise Linux.  The error has been fixed and this request has been
re-proposed for the current release.
Comment 12 John Jarvis 2011-01-13 15:15:50 EST
IBM is signed up to test and provide feedback.
Comment 15 John Jarvis 2011-01-14 19:20:48 EST
This enhancement request was evaluated by the full Red Hat Enterprise Linux 
team for inclusion in a Red Hat Enterprise Linux minor release.   As a 
result of this evaluation, Red Hat has tentatively approved inclusion of 
this feature in the next Red Hat Enterprise Linux Update minor release.   
While it is a goal to include this enhancement in the next minor release 
of Red Hat Enterprise Linux, the enhancement is not yet committed for 
inclusion in the next minor release pending the next phase of actual 
code integration and successful Red Hat and partner testing.
Comment 19 Stefan Hajnoczi 2011-03-14 09:39:02 EDT
I have successfully tested RHEL6.1 qemu-kvm 0.12.1.2 2.148.el6 with libvirt 0.8.7 7.el6.

ioeventfd is functioning as expected.  Here are the tests I performed on a -smp 2 guest:
1. RHEL6 install to 100 GB virtio-blk raw file.
2. RHEL6 install to 100 GB virtio-blk qcow2 file.
3. ffsb benchmark with 8 thread I/O profiles on both raw file and qcow2 file.
4. Check that 10 virtio-blk qcow2 files, 10 GB each, are accessible and behave correctly.  This ensures that more than 6 ioeventds works and that vhost-net is not impacted by adding many virtio-blk devices using ioeventfd.
5. Stephen Tweedie's verify-data on a 10 virtio-blk qcow2 file striped LVM volume.
6. Ensured that virtio-blk-pci devices are defaulting to ioeventfd=on.
Comment 20 Eduardo Habkost 2011-05-05 10:30:06 EDT
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Cause: no ioeventfd support on virtio-blk.

Consequence: lower performance and scalability than what is possible if using ioeventfd.

Change: ioeventfd support include on qemu-kvm virtio-blk code.

Result: higher performance and scalability by decoupling guest code execution from virtio hardware emulation, reducing the amount of time stolen from the guest and allowing guest CPU and I/O to run in parallel.
Comment 21 Misha H. Ali 2011-05-11 21:23:22 EDT
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -1,7 +1 @@
-Cause: no ioeventfd support on virtio-blk.
+The qemu-kvm virtio-blk code now support for ioeventfd, which results in improved performance and scalability by decoupling guest code execution from virtio hardware emulation. This decoupling allows the guest CPU and I/O to run in parallel and ensures that less time is taken from the guest.-
-Consequence: lower performance and scalability than what is possible if using ioeventfd.
-
-Change: ioeventfd support include on qemu-kvm virtio-blk code.
-
-Result: higher performance and scalability by decoupling guest code execution from virtio hardware emulation, reducing the amount of time stolen from the guest and allowing guest CPU and I/O to run in parallel.
Comment 22 errata-xmlrpc 2011-05-19 07:34:22 EDT
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2011-0534.html
Comment 23 errata-xmlrpc 2011-05-19 08:48:24 EDT
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2011-0534.html
Comment 24 Ayal Baron 2011-06-23 04:32:24 EDT
Michael, is this enabled or disabled by default?
Are there cases where we think this would harm performance?
Comment 26 Stefan Hajnoczi 2011-07-04 08:42:09 EDT
Ayal: to my knowledge it is enabled by default for virtio-blk.  For other virtio devices it is not enabled by default.

You can override ioeventfd by setting it on the -device virtio-net-pci|virtio-blk-pci,ioeventfd=on|off command-line.

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