[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1300320595.3255.29.camel@localhost.localdomain>
Date: Wed, 16 Mar 2011 17:09:55 -0700
From: Shirley Ma <mashirle@...ibm.com>
To: "Michael S. Tsirkin" <mst@...hat.com>,
Rusty Russell <rusty@...tcorp.com.au>
Cc: David Miller <davem@...emloft.net>, kvm@...r.kernel.org,
netdev@...r.kernel.org
Subject: [PATCH] virtio: Avoid virtio_net TX queue over run
This patch addresses small message size performance in a situation the
KVM guest virtio_net TX queue overrun. This patch adds a new API in
virtio_ring for ring capacity check; and remove KVM guest virtio_net TX
queue send completion interrupts completely. The test has shown that
whenever the queue is overrun, it's much better to drop a few packets
than stopping TX queue and waiting for host to notify the guest to wake
up the TX queue again, the small messages size performance gain for
single TCP_STREAM BW could be up to 200%-300% and better than bare
metal, and no regression has been found in other situation.
Performance data for 10GbE,
KVM guest to local host:
------------------------
Message size 2.6.38-rc8 2.6.38-rc8+patch
1024 1770.61 4528.37
2048 2702.30 7110.95
4096 5256.84 10104.76
8192 7543.66 10945.93
16K 10500.47 10783.50
64K 13718.62 13640.80
KVM guest to remote host:
--------------------------
Message size Bare Metal 2.6.38-rc8 2.6.38-rc8+patch
1024 1802.67 2381.41 5599.15
2048 4317.87 4094.12 9241.86
4096 6266.15 5231.24 9321.87
8192 8409.17 7952.74 9265.45
16K 9351.63 8260.68 8310.29
64K 9347.94 9103.75 9094.38
Thanks
Shirley
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists