Bug 670415 - vhost get TX performance regression when using level triggered IRQ
Summary: vhost get TX performance regression when using level triggered IRQ
Keywords:
Status: CLOSED DUPLICATE of bug 674562
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: qemu-kvm
Version: 6.1
Hardware: Unspecified
OS: Unspecified
low
medium
Target Milestone: rc
: ---
Assignee: jason wang
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-01-18 07:14 UTC by jason wang
Modified: 2013-01-09 23:29 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-04-13 04:23:17 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description jason wang 2011-01-18 07:14:05 UTC
Description of problem:
When testing performance of vhost with a guest without MSI support, regression of TX performance were found, this because we still need the assistance of qemu to inject non-msi interrupt which cause a relative high irq latency.

Guest -> External Host with a RHEL4.8 guest

TCP_STREAM
     userspace                | vhost
Size|Through  CPU%(S) CPU%(R) | Through  CPU%(V) CPU%(Q)  CPU%(R)
16  |262.60   17.18    1.15   | 323.32    2.11   19.11      2.18
32  |280.77   18.69    1.69   | 416.44    3.68   18.40      2.61
64  |342.17   19.48    2.20   | 500.31    3.94   16.26      2.29
128 |397.85   20.31    1.84   | 719.32    4.61   17.14      2.35
512 |1616.20  24.68    2.43   | 1065.69   4.74   15.67      3.37
1024|1686.69  24.92    4.52   | 1276.48   5.50   13.76      3.55
1472|1702.32  24.77    3.60   | 1300.31   6.18   14.09      4.00
9000|1574.62  21.75    4.98   | 1352.50   5.48   12.37      4.10

UDP_STREAM
     userspace                      | vhost
Size|Through(S/R)   CPU%(Q) CPU%(R) | Through(S/R)   CPU%(V) CPU%(Q) CPU%(R)
16  |46.4/46.4      43.54    6.73   | 76.6/76.6      12.04   12.95     5.34
32  |86.7/86.7      33.82    7.01   | 146.6/146.6    11.95   13.37     5.43
64  |190.8/190.8    24.97    7.56   | 298.1/298.1    11.78   13.29     5.76
128 |370.9/370.9    24.94    7.47   | 581.2/581.2    12.32   13.50     5.80
512 |1434.5/1434.5  24.97    7.92   | 1968.1/1967.9  11.04   13.27     6.25
1024|2312.7/2312.7  25.00    7.57   | 1631.9/1631.8   6.87   11.51     4.29
1472|3789.5/3789.4  24.99    7.63   | 2345.2/2345.2   6.39   12.62     4.37
9000|5043.2/5042.9  20.62    2.32   | 3080.6/3080.5   7.58    9.29     3.57

Version-Release number of selected component (if applicable):

How reproducible:
100%

Steps to Reproduce:
1. Start a guest without MSI support with vhost
2. Run a round of netperf
3. Start a guest without MSI support without vhost
4. Run a round of netperf
5. Compare the result
  
Actual results:
TX performance of vhost is worse than userspace.

Expected results:
TX performance should be better than userspace.

Additional info:
Possible solution:
1. qemu automatically switch to userspace virtio_net when the non-msi interrupt was used
2. eventfd support for injecting level interrupts

Comment 6 Miya Chen 2011-04-13 04:23:17 UTC
confirmed with Jason, this one should be duplicate to https://bugzilla.redhat.com/show_bug.cgi?id=674562

*** This bug has been marked as a duplicate of bug 674562 ***


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