RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 629662 - RFE: Need support for virtio-net tuning option
Summary: RFE: Need support for virtio-net tuning option
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: libvirt
Version: 6.1
Hardware: All
OS: Linux
low
medium
Target Milestone: rc
: ---
Assignee: Laine Stump
QA Contact: Virtualization Bugs
URL:
Whiteboard:
: 679676 (view as bug list)
Depends On:
Blocks: 679183
TreeView+ depends on / blocked
 
Reported: 2010-09-02 16:04 UTC by Alex Williamson
Modified: 2013-01-11 03:15 UTC (History)
16 users (show)

Fixed In Version: libvirt-0.8.7-8.el6
Doc Type: Enhancement
Doc Text:
Clone Of:
: 679183 (view as bug list)
Environment:
Last Closed: 2011-05-19 13:21:17 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2011:0596 0 normal SHIPPED_LIVE libvirt bug fix and enhancement update 2011-05-18 17:56:36 UTC

Comment 3 Daniel Berrangé 2010-09-08 13:51:15 UTC
I'm a little lost in reading the descriptions of the different versions here. Can you confirm the relation between behaviours in the various RHEL5/6/upstream releases is as follows: 

 - Current upstream: Original TX algorithm
 - RHEL6.0 GA: Original TX algorithm
 - RHEL5.4: Original TX algorithm
 - RHEL5.5: Hardcoded to new bottom-half TX algorithm. No access to original algorithm.
 - RHEL6.0 z-stream: Default to new bottom half TX algorithm, configurable to use old original TX algorithm
 - Future upstream. Default to new bottom half TX algorithm, configurable to use old original TX algorithm

Comment 5 Alex Williamson 2010-09-08 14:18:26 UTC
(In reply to comment #3)
> I'm a little lost in reading the descriptions of the different versions here.
> Can you confirm the relation between behaviours in the various RHEL5/6/upstream
> releases is as follows: 
> 
>  - Current upstream: Original TX algorithm
>  - RHEL6.0 GA: Original TX algorithm
>  - RHEL5.4: Original TX algorithm
>  - RHEL5.5: Hardcoded to new bottom-half TX algorithm. No access to original
> algorithm.
>  - RHEL6.0 z-stream: Default to new bottom half TX algorithm, configurable to
> use old original TX algorithm
>  - Future upstream. Default to new bottom half TX algorithm, configurable to
> use old original TX algorithm

Almost, the bottom half handler did go out in RHEL5.4, hard coded,
non-configurable.  So RHEL6.0 is the first RHEL instance of the original TX
algorithm.  I think we would feel more comfortable switching the default
without a fallback plan if we were making the change on at least a minor
version boundary rather than z-stream.  However, from a tuning perspective,
it's a worthwhile knob to be able to tweak.

Comment 11 Dave Allan 2010-10-07 03:08:41 UTC
Alex, has this BZ been addressed by your script?  If so, can we resolve it?

Comment 12 Alex Williamson 2010-10-07 19:26:13 UTC
(In reply to comment #11)
> Alex, has this BZ been addressed by your script?  If so, can we resolve it?

The script is just a workaround, I think the need still exists.  This problem is going to come up over and over for various devices, so the solution needs to not be specific to virtio-net.

Comment 16 Laine Stump 2011-01-25 17:33:50 UTC
Where is the qemu commandline option for this documented? It isn't in the help output. How can we verify the presence of the option w/o just trying it and having qemu fail?

Also there are now two places where this could exist:

1) as an element inside the <tune> element of the <interface>

2) as an attribute in the <driver name='vhost' .../>

The former is being used to set the size of the sndbuf, the latter is being used to set vhost vs. userland mode for the virtio backend.

It sounds like this should be in the <driver ...> element, since it's specific to virtio.

Comment 17 Alex Williamson 2011-01-25 18:01:31 UTC
(In reply to comment #16)
> Where is the qemu commandline option for this documented? It isn't in the help
> output. How can we verify the presence of the option w/o just trying it and
> having qemu fail?

$ /usr/libexec/qemu-kvm -device virtio-net-pci,?
...
virtio-net-pci.tx=string

I think the code is the only place that documents the options are "timer" vs "bh", but it will default to "bh", with an error message, if provided an unknown option

> Also there are now two places where this could exist:
> 
> 1) as an element inside the <tune> element of the <interface>
> 
> 2) as an attribute in the <driver name='vhost' .../>
> 
> The former is being used to set the size of the sndbuf, the latter is being
> used to set vhost vs. userland mode for the virtio backend.
> 
> It sounds like this should be in the <driver ...> element, since it's specific
> to virtio.

Seems reasonable.

Comment 18 Daniel Walsh 2011-01-25 20:59:22 UTC
selinux-policy package is available on people.redhat.com/dwalsh/SELinux/RHEL6

Comment 19 Laine Stump 2011-02-04 15:13:52 UTC
Is this algorithm setting in upstream qemu as well, or just in RHEL? My F14 box running qemu 0.13.0 doesn't have it...

Comment 20 Alex Williamson 2011-02-04 16:32:27 UTC
Yes, this is upstream as well as rhel6.  Should be in f15.

Comment 21 Laine Stump 2011-02-07 17:56:06 UTC
A first (definitely not final) whack at this has been posted upstream. Please take a look at the patch comments and provide feedback:

https://www.redhat.com/archives/libvir-list/2011-February/msg00130.html

Comment 22 Laine Stump 2011-02-10 18:55:44 UTC
The above thread has been updated with a v2 and v3 of the patch. Now just waiting for final ACK and push before a backport can be done.

Comment 23 Laine Stump 2011-02-17 20:54:10 UTC
The fix for this bug has been committed upstream:

  commit b670a41206701f6e1365b83dd5be704864aec9a7
  Author: Laine Stump <laine>
  Date:   Thu Feb 3 13:52:08 2011 -0500
  Subject: Restructure domain struct interface	"driver" data for easier expansion

  commit e9bd5c0e248aaa73db4d26ed4abf27acc6f93cc8
  Author: Laine Stump <laine>
  Date:   Thu Feb 3 15:20:01 2011 -0500
  Subject: Add txmode attribute to interface XML for virtio backend

and a rebased version (nearly pure cherry-pick) posted to rhvirt-patches:

  http://post-office.corp.redhat.com/archives/rhvirt-patches/2011-February/msg01144.html

Comment 25 Jiri Denemark 2011-02-23 14:19:46 UTC
*** Bug 679676 has been marked as a duplicate of this bug. ***

Comment 27 Nan Zhang 2011-02-25 06:40:41 UTC
Verified with the packages below, it's already fixed.
libvirt-0.8.7-8.el6
qemu-kvm-0.12.1.2-2.147.el6


# virsh dumpxml test
...
    <driver txmode='iothread'/>
...

# ps -ef|grep qemu-kvm
... -device virtio-net-pci,tx=bh, ...


# virsh dumpxml test
...
    <driver txmode='timer'/>
...

# ps -ef|grep qemu-kvm
... -device virtio-net-pci,tx=timer, ...

Comment 30 errata-xmlrpc 2011-05-19 13:21:17 UTC
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/RHBA-2011-0596.html


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