Hide Forgot
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
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 ***