From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jason Wang Subject: Re: [PATCH net-next RFC V3 0/3] basic busy polling support for vhost_net Date: Tue, 17 Nov 2015 14:31:15 +0800 Message-ID: <564AC9B3.8050100@redhat.com> References: <1447323395-28052-1-git-send-email-jasowang@redhat.com> <564467E9.9080409@redhat.com> <5645AB73.7060808@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <5645AB73.7060808@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: virtualization-bounces@lists.linux-foundation.org Errors-To: virtualization-bounces@lists.linux-foundation.org To: Felipe Franciosi Cc: "netdev@vger.kernel.org" , "virtualization@lists.linux-foundation.org" , "linux-kernel@vger.kernel.org" , "kvm@vger.kernel.org" , "mst@redhat.com" List-Id: virtualization@lists.linuxfoundation.org CgpPbiAxMS8xMy8yMDE1IDA1OjIwIFBNLCBKYXNvbiBXYW5nIHdyb3RlOgo+Cj4gT24gMTEvMTIv MjAxNSAwODowMiBQTSwgRmVsaXBlIEZyYW5jaW9zaSB3cm90ZToKPj4gSGkgSmFzb24sCj4+Cj4+ IEkgdW5kZXJzdGFuZCB5b3VyIGJ1c3kgbG9vcCB0aW1lb3V0IGlzIHF1aXRlIGNvbnNlcnZhdGl2 ZSBhdCA1MHVzLiBEaWQgeW91IHRyeSBhbnkgb3RoZXIgdmFsdWVzPwo+IEkndmUgYWxzbyB0cmll ZCAyMHVzLiBBbmQgcmVzdWx0cyBzaG93cyA1MHVzIHdhcyBiZXR0ZXIgaW46Cj4KPiAtIHZlcnkg c21hbGwgcGFja2V0IHR4IChlLmcgNjRieXRlcyBhdCBtb3N0IDQ2JSBpbXByb3ZlbWVudCkKPiAt IFRDUF9SUiAoYXQgbW9zdCAxMSUgaW1wcm92ZW1lbnQpCj4KPiBCdXQgSSB3aWxsIHRlc3QgYmln Z2VyIHZhbHVlcy4gSW4gZmFjdCwgZm9yIG5ldCBpdHNlbGYsIHdlIGNhbiBiZSBldmVuCj4gbW9y ZSBhZ2dyZXNzaXZlOiBtYWtlIHZob3N0IHBvbGwgZm9yZXZlciBidXQgSSBoYXZlbid0IHRpcmVk IHRoaXMuCj4KPj4gQWxzbywgZGlkIHlvdSBtZWFzdXJlIGhvdyBwb2xsaW5nIGFmZmVjdHMgbWFu eSBWTXMgdGFsa2luZyB0byBlYWNoIG90aGVyIChlLmcuIDIwIFZNcyBvbiBlYWNoIGhvc3QsIHBl cmhhcHMgd2l0aCBzZXZlcmFsIHZOSUNzIGVhY2gsIHRyYW5zbWl0dGluZyB0byBhIGNvcnJlc3Bv bmRpbmcgVk0vdk5JQyBwYWlyIG9uIGFub3RoZXIgaG9zdCk/Cj4gTm90IHlldCwgaW4gbXkgdG9k byBsaXN0Lgo+Cj4+Cj4+IE9uIGEgY29tcGxldGUgc2VwYXJhdGUgZXhwZXJpbWVudCAoYnVzeSB3 YWl0aW5nIG9uIHN0b3JhZ2UgSS9PIHJpbmdzIG9uIFhlbiksIEkgaGF2ZSBvYnNlcnZlZCB0aGF0 IGJpZ2dlciB0aW1lb3V0cyBnYXZlIGJpZ2dlciBiZW5lZml0cy4gT24gdGhlIG90aGVyIGhhbmQs IGFsbCBjYXNlcyB0aGF0IGNvbnRlbmRlZCBmb3IgQ1BVIHdlcmUgYmFkbHkgaHVydCB3aXRoIGFu eSBzb3J0IG9mIHBvbGxpbmcuCj4+Cj4+IFRoZSBjYXNlcyB0aGF0IGNvbnRlbmRlZCBmb3IgQ1BV IGNvbnNpc3RlZCBvZiBtYW55IFZNcyBnZW5lcmF0aW5nIHdvcmtsb2FkIG92ZXIgdmVyeSBmYXN0 IEkvTyBkZXZpY2VzIChpbiB0aGF0IGNhc2UsIHNldmVyYWwgTlZNZSBkZXZpY2VzIG9uIGEgc2lu Z2xlIGhvc3QpLiBBbmQgdGhlIG1ldHJpYyB0aGF0IGdvdCBhZmZlY3RlZCB3YXMgYWdncmVnYXRl IHRocm91Z2hwdXQgZnJvbSBhbGwgVk1zLgo+Pgo+PiBUaGUgc29sdXRpb24gd2FzIHRvIGRldGVy bWluZSB3aGV0aGVyIHRvIHBvbGwgZGVwZW5kaW5nIG9uIHRoZSBob3N0J3Mgb3ZlcmFsbCBDUFUg dXRpbGlzYXRpb24gYXQgdGhhdCBtb21lbnQuIFRoYXQgZ2F2ZSBtZSB0aGUgYmVzdCBvZiBib3Ro IHdvcmxkcyBhcyBwb2xsaW5nIG1hZGUgZXZlcnl0aGluZyBmYXN0ZXIgd2l0aG91dCBzbG93aW5n IGRvd24gYW55IG90aGVyIG1ldHJpYy4KPiBZb3UgbWVhbiBhIHRocmVzaG9sZCBhbmQgZXhpdCBw b2xsaW5nIHdoZW4gaXQgZXhjZWVkcyB0aGlzPyBJIHVzZSBhCj4gc2ltcGxlciBtZXRob2Q6IGp1 c3QgZXhpdCB0aGUgYnVzeSBsb29wIHdoZW4gdGhlcmUncyBtb3JlIHRoYW4gb25lCj4gcHJvY2Vz c2VzIGlzIGluIHJ1bm5pbmcgc3RhdGUuIEkgdGVzdCB0aGlzIG1ldGhvZCBpbiB0aGUgcGFzdCBm b3Igc29ja2V0Cj4gYnVzeSByZWFkIChodHRwOi8vd3d3Lmdvc3NhbWVyLXRocmVhZHMuY29tL2xp c3RzL2xpbnV4L2tlcm5lbC8xOTk3NTMxKQo+IHdoaWNoIHNlZW1zIGNhbiBzb2x2ZSB0aGUgaXNz dWUuIEJ1dCBoYXZlbid0IHRlc3RlZCB0aGlzIGZvciB2aG9zdAo+IHBvbGxpbmcuIFdpbGwgcnVu IHNvbWUgc2ltcGxlIHRlc3QgKGUuZyBwaW4gdHdvIHZob3N0IHRocmVhZHMgaW4gb25lCj4gaG9z dCBjcHUpLCBhbmQgc2VlIGhvdyB3ZWxsIGl0IHBlcmZvcm0uCj4KPiBUaGFua3MKClJ1biBzaW1w bGUgdGVzdCBsaWtlOgoKLSBzdGFydGluZyB0d28gVk1zLCBlYWNoIHZtIGhhcyBvbmUgdmNwdQot IHBpbiBib3RoIHR3byB2aG9zdCB0aHJlYWRzIG9mIFZNcyB0byBjcHUgMAotIHBpbiB2Y3B1MCBv ZiBWTTEgdG8gY3B1MQotIHBpbiB2Y3B1MCBvZiBWTTIgdG8gY3B1MgoKVHJ5IHR3byBUQ1BfUlIg bmV0cGVyZiB0ZXN0cyBpbiBwYXJhbGxlbGw6CgovYnVzeSBsb29wIHRpbWVvdXRzL3RyYXRlMSt0 cmF0ZTIvLSslLwovbm8gYnVzeSBsb29wLzEzOTY2Ljc2KzEzOTg3LjMxLyswJS8KLzIwdXMvMTQw OTcuODkrMTQwODguODIvKzAuMDglKQovNTB1cy8xNTEwMy45OCsxNTEwMy43My8rOC4wNiUvCgoK QnVzeSBsb29wIGNhbiBzdGlsbCBnaXZlIGltcHJvdmVtZW50cyBldmVuIGlmIHR3byB2aG9zdCB0 aHJlYWRzIGFyZQpjb250ZW5kaW5nIG9uZSBjcHUgb24gaG9zdC4KCj4KPj4gVGhhbmtzLAo+PiBG ZWxpcGUKPj4KPj4KPj4KPj4gT24gMTIvMTEvMjAxNSAxMDoyMCwgImt2bS1vd25lckB2Z2VyLmtl cm5lbC5vcmcgb24gYmVoYWxmIG9mIEphc29uIFdhbmciIDxrdm0tb3duZXJAdmdlci5rZXJuZWwu b3JnIG9uIGJlaGFsZiBvZiBqYXNvd2FuZ0ByZWRoYXQuY29tPiB3cm90ZToKPj4KPj4+IE9uIDEx LzEyLzIwMTUgMDY6MTYgUE0sIEphc29uIFdhbmcgd3JvdGU6Cj4+Pj4gSGkgYWxsOgo+Pj4+Cj4+ Pj4gVGhpcyBzZXJpZXMgdHJpZXMgdG8gYWRkIGJhc2ljIGJ1c3kgcG9sbGluZyBmb3Igdmhvc3Qg bmV0LiBUaGUgaWRlYSBpcwo+Pj4+IHNpbXBsZTogYXQgdGhlIGVuZCBvZiB0eC9yeCBwcm9jZXNz aW5nLCBidXN5IHBvbGxpbmcgZm9yIG5ldyB0eCBhZGRlZAo+Pj4+IGRlc2NyaXB0b3IgYW5kIHJ4 IHJlY2VpdmUgc29ja2V0IGZvciBhIHdoaWxlLiBUaGUgbWF4aW11bSBudW1iZXIgb2YKPj4+PiB0 aW1lIChpbiB1cykgY291bGQgYmUgc3BlbnQgb24gYnVzeSBwb2xsaW5nIHdhcyBzcGVjaWZpZWQg aW9jdGwuCj4+Pj4KPj4+PiBUZXN0IHdlcmUgZG9uZSB0aHJvdWdoOgo+Pj4+Cj4+Pj4gLSA1MCB1 cyBhcyBidXN5IGxvb3AgdGltZW91dAo+Pj4+IC0gTmV0cGVyZiAyLjYKPj4+PiAtIFR3byBtYWNo aW5lcyB3aXRoIGJhY2sgdG8gYmFjayBjb25uZWN0ZWQgaXhnYmUKPj4+PiAtIEd1ZXN0IHdpdGgg MSB2Y3B1IGFuZCAxIHF1ZXVlCj4+Pj4KPj4+PiBSZXN1bHRzOgo+Pj4+IC0gRm9yIHN0cmVhbSB3 b3JrbG9hZCwgaW9leGl0cyB3ZXJlIHJlZHVjZWQgZHJhbWF0aWNhbGx5IGluIG1lZGl1bQo+Pj4+ ICAgc2l6ZSAoMTAyNC0yMDQ4KSBvZiB0eCAoYXQgbW9zdCAtMzklKSBhbmQgYWxtb3N0IGFsbCBy eCAoYXQgbW9zdAo+Pj4+ICAgLTc5JSkgYXMgYSByZXN1bHQgb2YgcG9sbGluZy4gVGhpcyBjb21w ZW5zYXRlIGZvciB0aGUgcG9zc2libGUKPj4+PiAgIHdhc3RlZCBjcHUgY3ljbGVzIG1vcmUgb3Ig bGVzcy4gVGhhdCBwb3JiYWJseSB3aHkgd2UgY2FuIHN0aWxsIHNlZQo+Pj4+ICAgc29tZSBpbmNy ZWFzaW5nIGluIHRoZSBub3JtYWxpemVkIHRocm91Z2hwdXQgaW4gc29tZSBjYXNlcy4KPj4+PiAt IFRocm91Z2hwdXQgb2YgdHggd2VyZSBpbmNyZWFzZWQgKGF0IG1vc3QgMTA1JSkgZXhwZWN0IGZv ciB0aGUgaHVnZQo+Pj4+ICAgd3JpdGUgKDE2Mzg0KS4gQW5kIHdlIGNhbiBzZW5kIG1vcmUgcGFj a2V0cyBpbiB0aGUgY2FzZSAoK3Rwa3RzIHdlcmUKPj4+PiAgIGluY3JlYXNlZCkuCj4+Pj4gLSBW ZXJ5IG1pbm9yIHJ4IHJlZ3Jlc3Npb24gaW4gc29tZSBjYXNlcy4KPj4+PiAtIEltcHJvdmVtbnQg b24gVENQX1JSIChhdCBtb3N0IDE2JSkuCj4+PiBGb3JnZXQgdG8gbWVudGlvbiwgdGhlIGZvbGxv d2luZyB0ZXN0IHJlc3VsdHMgYnkgb3JkZXIgYXJlOgo+Pj4KPj4+IDEpIEd1ZXN0IFRYCj4+PiAy KSBHdWVzdCBSWAo+Pj4gMykgVENQX1JSCj4+Pgo+Pj4+IHNpemUvc2Vzc2lvbi8rdGh1JS8rbm9y bWFsaXplJS8rdHBrdHMlLytycGt0cyUvK2lvZXhpdHMlLwo+Pj4+ICAgIDY0LyAgICAgMS8gICAr OSUvICAtMTclLyAgICs1JS8gICsxMCUvICAgLTIlCj4+Pj4gICAgNjQvICAgICAyLyAgICs4JS8g IC0xOCUvICAgKzYlLyAgKzEwJS8gICAtMSUKPj4+PiAgICA2NC8gICAgIDQvICAgKzQlLyAgLTIx JS8gICArNiUvICArMTAlLyAgIC0xJQo+Pj4+ICAgIDY0LyAgICAgOC8gICArOSUvICAtMTclLyAg ICs2JS8gICArOSUvICAgLTIlCj4+Pj4gICAyNTYvICAgICAxLyAgKzIwJS8gICAtMSUvICArMTUl LyAgKzExJS8gICAtOSUKPj4+PiAgIDI1Ni8gICAgIDIvICArMTUlLyAgIC02JS8gICsxNSUvICAg KzglLyAgIC04JQo+Pj4+ICAgMjU2LyAgICAgNC8gICsxNyUvICAgLTQlLyAgKzE2JS8gICArOCUv ICAgLTglCj4+Pj4gICAyNTYvICAgICA4LyAgLTYxJS8gIC02OSUvICArMTYlLyAgKzEwJS8gIC0x MCUKPj4+PiAgIDUxMi8gICAgIDEvICArMTUlLyAgIC0zJS8gICsxOSUvICArMTglLyAgLTExJQo+ Pj4+ICAgNTEyLyAgICAgMi8gICsxOSUvICAgIDAlLyAgKzE5JS8gICsxMyUvICAtMTAlCj4+Pj4g ICA1MTIvICAgICA0LyAgKzE4JS8gICAtMiUvICArMTglLyAgKzE1JS8gIC0xMCUKPj4+PiAgIDUx Mi8gICAgIDgvICArMTclLyAgIC0xJS8gICsxOCUvICArMTUlLyAgLTExJQo+Pj4+ICAxMDI0LyAg ICAgMS8gICsyNSUvICAgKzQlLyAgKzI3JS8gICsxNiUvICAtMjElCj4+Pj4gIDEwMjQvICAgICAy LyAgKzI4JS8gICArOCUvICArMjUlLyAgKzE1JS8gIC0yMiUKPj4+PiAgMTAyNC8gICAgIDQvICAr MjUlLyAgICs1JS8gICsyNSUvICArMTQlLyAgLTIxJQo+Pj4+ICAxMDI0LyAgICAgOC8gICsyNyUv ICAgKzclLyAgKzI1JS8gICsxNiUvICAtMjElCj4+Pj4gIDIwNDgvICAgICAxLyAgKzMyJS8gICsx MiUvICArMzElLyAgKzIyJS8gIC0zOCUKPj4+PiAgMjA0OC8gICAgIDIvICArMzMlLyAgKzEyJS8g ICszMCUvICArMjMlLyAgLTM2JQo+Pj4+ICAyMDQ4LyAgICAgNC8gICszMSUvICArMTAlLyAgKzMx JS8gICsyNCUvICAtMzclCj4+Pj4gIDIwNDgvICAgICA4LyArMTA1JS8gICs3NSUvICArMzMlLyAg KzIzJS8gIC0zOSUKPj4+PiAxNjM4NC8gICAgIDEvICAgIDAlLyAgLTE0JS8gICArMiUvICAgIDAl LyAgKzE5JQo+Pj4+IDE2Mzg0LyAgICAgMi8gICAgMCUvICAtMTMlLyAgKzE5JS8gIC0xMyUvICAr MTclCj4+Pj4gMTYzODQvICAgICA0LyAgICAwJS8gIC0xMiUvICAgKzMlLyAgICAwJS8gICArMiUK Pj4+PiAxNjM4NC8gICAgIDgvICAgIDAlLyAgLTExJS8gICAtMiUvICAgKzElLyAgICsxJQo+Pj4+ IHNpemUvc2Vzc2lvbi8rdGh1JS8rbm9ybWFsaXplJS8rdHBrdHMlLytycGt0cyUvK2lvZXhpdHMl Lwo+Pj4+ICAgIDY0LyAgICAgMS8gICAtNyUvICAtMjMlLyAgICs0JS8gICArNiUvICAtNzQlCj4+ Pj4gICAgNjQvICAgICAyLyAgIC0yJS8gIC0xMiUvICAgKzIlLyAgICsyJS8gIC01NSUKPj4+PiAg ICA2NC8gICAgIDQvICAgKzIlLyAgIC01JS8gICsxMCUvICAgLTIlLyAgLTQzJQo+Pj4+ICAgIDY0 LyAgICAgOC8gICAtNSUvICAgLTUlLyAgKzExJS8gIC0zNCUvICAtNTklCj4+Pj4gICAyNTYvICAg ICAxLyAgIC02JS8gIC0xNiUvICAgKzklLyAgKzExJS8gIC02MCUKPj4+PiAgIDI1Ni8gICAgIDIv ICAgKzMlLyAgIC00JS8gICArNiUvICAgLTMlLyAgLTI4JQo+Pj4+ICAgMjU2LyAgICAgNC8gICAg MCUvICAgLTUlLyAgIC05JS8gICAtOSUvICAtMTAlCj4+Pj4gICAyNTYvICAgICA4LyAgIC0zJS8g ICAtNiUvICAtMTIlLyAgIC05JS8gIC00MCUKPj4+PiAgIDUxMi8gICAgIDEvICAgLTQlLyAgLTE3 JS8gIC0xMCUvICArMjElLyAgLTM0JQo+Pj4+ICAgNTEyLyAgICAgMi8gICAgMCUvICAgLTklLyAg LTE0JS8gICAtMyUvICAtMzAlCj4+Pj4gICA1MTIvICAgICA0LyAgICAwJS8gICAtNCUvICAtMTgl LyAgLTEyJS8gICAtNCUKPj4+PiAgIDUxMi8gICAgIDgvICAgLTElLyAgIC00JS8gICAtMSUvICAg LTUlLyAgICs0JQo+Pj4+ICAxMDI0LyAgICAgMS8gICAgMCUvICAtMTYlLyAgKzEyJS8gICsxMSUv ICAtMTAlCj4+Pj4gIDEwMjQvICAgICAyLyAgICAwJS8gIC0xMSUvICAgIDAlLyAgICs1JS8gIC0z MSUKPj4+PiAgMTAyNC8gICAgIDQvICAgIDAlLyAgIC00JS8gICAtNyUvICAgKzElLyAgLTIyJQo+ Pj4+ICAxMDI0LyAgICAgOC8gICAtNSUvICAgLTYlLyAgLTE3JS8gIC0yOSUvICAtNzklCj4+Pj4g IDIwNDgvICAgICAxLyAgICAwJS8gIC0xNiUvICAgKzElLyAgICs5JS8gIC0xMCUKPj4+PiAgMjA0 OC8gICAgIDIvICAgIDAlLyAgLTEyJS8gICArNyUvICAgKzklLyAgLTI2JQo+Pj4+ICAyMDQ4LyAg ICAgNC8gICAgMCUvICAgLTclLyAgIC00JS8gICArMyUvICAtNjQlCj4+Pj4gIDIwNDgvICAgICA4 LyAgIC0xJS8gICAtNSUvICAgLTYlLyAgICs0JS8gIC0yMCUKPj4+PiAxNjM4NC8gICAgIDEvICAg IDAlLyAgLTEyJS8gICsxMSUvICAgKzclLyAgLTIwJQo+Pj4+IDE2Mzg0LyAgICAgMi8gICAgMCUv ICAgLTclLyAgICsxJS8gICArNSUvICAtMjYlCj4+Pj4gMTYzODQvICAgICA0LyAgICAwJS8gICAt NSUvICArMTIlLyAgKzIyJS8gIC0yMyUKPj4+PiAxNjM4NC8gICAgIDgvICAgIDAlLyAgIC0xJS8g ICAtOCUvICAgKzUlLyAgIC0zJQo+Pj4+IHNpemUvc2Vzc2lvbi8rdGh1JS8rbm9ybWFsaXplJS8r dHBrdHMlLytycGt0cyUvK2lvZXhpdHMlLwo+Pj4+ICAgICAxLyAgICAgMS8gICArOSUvICAtMjkl LyAgICs5JS8gICArOSUvICAgKzklCj4+Pj4gICAgIDEvICAgIDI1LyAgICs2JS8gIC0xOCUvICAg KzYlLyAgICs2JS8gICAtMSUKPj4+PiAgICAgMS8gICAgNTAvICAgKzYlLyAgLTE5JS8gICArNSUv ICAgKzUlLyAgIC0yJQo+Pj4+ICAgICAxLyAgIDEwMC8gICArNSUvICAtMTklLyAgICs0JS8gICAr NCUvICAgLTMlCj4+Pj4gICAgNjQvICAgICAxLyAgKzEwJS8gIC0yOCUvICArMTAlLyAgKzEwJS8g ICsxMCUKPj4+PiAgICA2NC8gICAgMjUvICAgKzglLyAgLTE4JS8gICArNyUvICAgKzclLyAgIC0y JQo+Pj4+ICAgIDY0LyAgICA1MC8gICArOCUvICAtMTclLyAgICs4JS8gICArOCUvICAgLTElCj4+ Pj4gICAgNjQvICAgMTAwLyAgICs4JS8gIC0xNyUvICAgKzglLyAgICs4JS8gICAtMSUKPj4+PiAg IDI1Ni8gICAgIDEvICArMTAlLyAgLTI4JS8gICsxMCUvICArMTAlLyAgKzEwJQo+Pj4+ICAgMjU2 LyAgICAyNS8gICsxNSUvICAtMTMlLyAgKzE1JS8gICsxNSUvICAgIDAlCj4+Pj4gICAyNTYvICAg IDUwLyAgKzE2JS8gIC0xNCUvICArMTglLyAgKzE4JS8gICArMiUKPj4+PiAgIDI1Ni8gICAxMDAv ICArMTUlLyAgLTEzJS8gICsxMiUvICArMTIlLyAgIC0yJQo+Pj4+Cj4+Pj4gQ2hhbmdlcyBmcm9t IFYyOgo+Pj4+IC0gcG9sbCBhbHNvIGF0IHRoZSBlbmQgb2YgcnggaGFuZGxpbmcKPj4+PiAtIGZh Y3RvciBvdXQgdGhlIHBvbGxpbmcgbG9naWMgYW5kIG9wdGltaXplIHRoZSBjb2RlIGEgbGl0dGxl IGJpdAo+Pj4+IC0gYWRkIHR3byBpb2N0bHMgdG8gZ2V0IGFuZCBzZXQgdGhlIGJ1c3kgcG9sbCB0 aW1lb3V0Cj4+Pj4gLSB0ZXN0IG9uIGl4Z2JlICh3aGljaCBjYW4gZ2l2ZSBtb3JlIHN0YWJsZSBh bmQgcmVwcm9kdWNhYmxlIG51bWJlcnMpCj4+Pj4gICBpbnN0ZWFkIG9mIG1seDQuCj4+Pj4KPj4+ PiBDaGFuZ2VzIGZyb20gVjE6Cj4+Pj4gLSBBZGQgYSBjb21tZW50IGZvciB2aG9zdF9oYXNfd29y aygpIHRvIGV4cGxhaW4gd2h5IGl0IGNvdWxkIGJlCj4+Pj4gICBsb2NrbGVzcwo+Pj4+IC0gQWRk IHBhcmFtIGRlc2NyaXB0aW9uIGZvciBidXN5bG9vcF90aW1lb3V0Cj4+Pj4gLSBTcGxpdCBvdXQg dGhlIGJ1c3kgcG9sbGluZyBsb2dpYyBpbnRvIGEgbmV3IGhlbHBlcgo+Pj4+IC0gQ2hlY2sgYW5k IGV4aXQgdGhlIGxvb3Agd2hlbiB0aGVyZSdzIGEgcGVuZGluZyBzaWduYWwKPj4+PiAtIERpc2Fi bGUgcHJlZW1wdGlvbiBkdXJpbmcgYnVzeSBsb29waW5nIHRvIG1ha2Ugc3VyZSBsb2NrX2Nsb2Nr KCkgd2FzCj4+Pj4gICBjb3JyZWN0bHkgdXNlZC4KPj4+Pgo+Pj4+IEphc29uIFdhbmcgKDMpOgo+ Pj4+ICAgdmhvc3Q6IGludHJvZHVjZSB2aG9zdF9oYXNfd29yaygpCj4+Pj4gICB2aG9zdDogaW50 cm9kdWNlIHZob3N0X3ZxX21vcmVfYXZhaWwoKQo+Pj4+ICAgdmhvc3RfbmV0OiBiYXNpYyBwb2xs aW5nIHN1cHBvcnQKPj4+Pgo+Pj4+ICBkcml2ZXJzL3Zob3N0L25ldC5jICAgICAgICB8IDc3ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KPj4+PiAgZHJpdmVy cy92aG9zdC92aG9zdC5jICAgICAgfCA0OCArKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQo+ Pj4+ICBkcml2ZXJzL3Zob3N0L3Zob3N0LmggICAgICB8ICAzICsrCj4+Pj4gIGluY2x1ZGUvdWFw aS9saW51eC92aG9zdC5oIHwgMTEgKysrKysrKwo+Pj4+ICA0IGZpbGVzIGNoYW5nZWQsIDEyNSBp bnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKPj4+Pgo+Pj4gLS0KPj4+IFRvIHVuc3Vic2Ny aWJlIGZyb20gdGhpcyBsaXN0OiBzZW5kIHRoZSBsaW5lICJ1bnN1YnNjcmliZSBrdm0iIGluCj4+ PiB0aGUgYm9keSBvZiBhIG1lc3NhZ2UgdG8gbWFqb3Jkb21vQHZnZXIua2VybmVsLm9yZwo+Pj4g TW9yZSBtYWpvcmRvbW8gaW5mbyBhdCAgaHR0cDovL3ZnZXIua2VybmVsLm9yZy9tYWpvcmRvbW8t aW5mby5odG1sCj4+IE7vv73vv73vv73vv73vv71y77+977+9ee+/ve+/ve+/vWLvv71Y77+977+9 x6d277+9Xu+/vSneunsubu+/vSvvv73vv73vv73vv71777+977+977+977+9eljvv73vv70X77+9 77+93Kh977+977+977+9xqB677+9Jmo6K3bvv73vv73vv70H77+977+977+977+9elor77+977+9 K3pm77+977+977+9aO+/ve+/ve+/vX7vv73vv73vv73vv71p77+977+977+9eu+/vR7vv71377+9 77+977+9P++/ve+/ve+/ve+/vSbvv70p36IbZu+/ve+/vV5qx6t577+9be+/ve+/vUBB77+9Ye+/ ve+/vX/vv70MMO+/ve+/vWjvv70P77+9aX8KPiAtLQo+IFRvIHVuc3Vic2NyaWJlIGZyb20gdGhp cyBsaXN0OiBzZW5kIHRoZSBsaW5lICJ1bnN1YnNjcmliZSBsaW51eC1rZXJuZWwiIGluCj4gdGhl IGJvZHkgb2YgYSBtZXNzYWdlIHRvIG1ham9yZG9tb0B2Z2VyLmtlcm5lbC5vcmcKPiBNb3JlIG1h am9yZG9tbyBpbmZvIGF0ICBodHRwOi8vdmdlci5rZXJuZWwub3JnL21ham9yZG9tby1pbmZvLmh0 bWwKPiBQbGVhc2UgcmVhZCB0aGUgRkFRIGF0ICBodHRwOi8vd3d3LnR1eC5vcmcvbGttbC8KCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClZpcnR1YWxpemF0 aW9uIG1haWxpbmcgbGlzdApWaXJ0dWFsaXphdGlvbkBsaXN0cy5saW51eC1mb3VuZGF0aW9uLm9y ZwpodHRwczovL2xpc3RzLmxpbnV4Zm91bmRhdGlvbi5vcmcvbWFpbG1hbi9saXN0aW5mby92aXJ0 dWFsaXphdGlvbg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752188AbbKQGb0 (ORCPT ); Tue, 17 Nov 2015 01:31:26 -0500 Received: from mx1.redhat.com ([209.132.183.28]:36101 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751151AbbKQGbY (ORCPT ); Tue, 17 Nov 2015 01:31:24 -0500 Subject: Re: [PATCH net-next RFC V3 0/3] basic busy polling support for vhost_net To: Felipe Franciosi References: <1447323395-28052-1-git-send-email-jasowang@redhat.com> <564467E9.9080409@redhat.com> <5645AB73.7060808@redhat.com> Cc: "mst@redhat.com" , "kvm@vger.kernel.org" , "virtualization@lists.linux-foundation.org" , "netdev@vger.kernel.org" , "linux-kernel@vger.kernel.org" From: Jason Wang Message-ID: <564AC9B3.8050100@redhat.com> Date: Tue, 17 Nov 2015 14:31:15 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <5645AB73.7060808@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/13/2015 05:20 PM, Jason Wang wrote: > > On 11/12/2015 08:02 PM, Felipe Franciosi wrote: >> Hi Jason, >> >> I understand your busy loop timeout is quite conservative at 50us. Did you try any other values? > I've also tried 20us. And results shows 50us was better in: > > - very small packet tx (e.g 64bytes at most 46% improvement) > - TCP_RR (at most 11% improvement) > > But I will test bigger values. In fact, for net itself, we can be even > more aggressive: make vhost poll forever but I haven't tired this. > >> Also, did you measure how polling affects many VMs talking to each other (e.g. 20 VMs on each host, perhaps with several vNICs each, transmitting to a corresponding VM/vNIC pair on another host)? > Not yet, in my todo list. > >> >> On a complete separate experiment (busy waiting on storage I/O rings on Xen), I have observed that bigger timeouts gave bigger benefits. On the other hand, all cases that contended for CPU were badly hurt with any sort of polling. >> >> The cases that contended for CPU consisted of many VMs generating workload over very fast I/O devices (in that case, several NVMe devices on a single host). And the metric that got affected was aggregate throughput from all VMs. >> >> The solution was to determine whether to poll depending on the host's overall CPU utilisation at that moment. That gave me the best of both worlds as polling made everything faster without slowing down any other metric. > You mean a threshold and exit polling when it exceeds this? I use a > simpler method: just exit the busy loop when there's more than one > processes is in running state. I test this method in the past for socket > busy read (http://www.gossamer-threads.com/lists/linux/kernel/1997531) > which seems can solve the issue. But haven't tested this for vhost > polling. Will run some simple test (e.g pin two vhost threads in one > host cpu), and see how well it perform. > > Thanks Run simple test like: - starting two VMs, each vm has one vcpu - pin both two vhost threads of VMs to cpu 0 - pin vcpu0 of VM1 to cpu1 - pin vcpu0 of VM2 to cpu2 Try two TCP_RR netperf tests in parallell: /busy loop timeouts/trate1+trate2/-+%/ /no busy loop/13966.76+13987.31/+0%/ /20us/14097.89+14088.82/+0.08%) /50us/15103.98+15103.73/+8.06%/ Busy loop can still give improvements even if two vhost threads are contending one cpu on host. > >> Thanks, >> Felipe >> >> >> >> On 12/11/2015 10:20, "kvm-owner@vger.kernel.org on behalf of Jason Wang" wrote: >> >>> On 11/12/2015 06:16 PM, Jason Wang wrote: >>>> Hi all: >>>> >>>> This series tries to add basic busy polling for vhost net. The idea is >>>> simple: at the end of tx/rx processing, busy polling for new tx added >>>> descriptor and rx receive socket for a while. The maximum number of >>>> time (in us) could be spent on busy polling was specified ioctl. >>>> >>>> Test were done through: >>>> >>>> - 50 us as busy loop timeout >>>> - Netperf 2.6 >>>> - Two machines with back to back connected ixgbe >>>> - Guest with 1 vcpu and 1 queue >>>> >>>> Results: >>>> - For stream workload, ioexits were reduced dramatically in medium >>>> size (1024-2048) of tx (at most -39%) and almost all rx (at most >>>> -79%) as a result of polling. This compensate for the possible >>>> wasted cpu cycles more or less. That porbably why we can still see >>>> some increasing in the normalized throughput in some cases. >>>> - Throughput of tx were increased (at most 105%) expect for the huge >>>> write (16384). And we can send more packets in the case (+tpkts were >>>> increased). >>>> - Very minor rx regression in some cases. >>>> - Improvemnt on TCP_RR (at most 16%). >>> Forget to mention, the following test results by order are: >>> >>> 1) Guest TX >>> 2) Guest RX >>> 3) TCP_RR >>> >>>> size/session/+thu%/+normalize%/+tpkts%/+rpkts%/+ioexits%/ >>>> 64/ 1/ +9%/ -17%/ +5%/ +10%/ -2% >>>> 64/ 2/ +8%/ -18%/ +6%/ +10%/ -1% >>>> 64/ 4/ +4%/ -21%/ +6%/ +10%/ -1% >>>> 64/ 8/ +9%/ -17%/ +6%/ +9%/ -2% >>>> 256/ 1/ +20%/ -1%/ +15%/ +11%/ -9% >>>> 256/ 2/ +15%/ -6%/ +15%/ +8%/ -8% >>>> 256/ 4/ +17%/ -4%/ +16%/ +8%/ -8% >>>> 256/ 8/ -61%/ -69%/ +16%/ +10%/ -10% >>>> 512/ 1/ +15%/ -3%/ +19%/ +18%/ -11% >>>> 512/ 2/ +19%/ 0%/ +19%/ +13%/ -10% >>>> 512/ 4/ +18%/ -2%/ +18%/ +15%/ -10% >>>> 512/ 8/ +17%/ -1%/ +18%/ +15%/ -11% >>>> 1024/ 1/ +25%/ +4%/ +27%/ +16%/ -21% >>>> 1024/ 2/ +28%/ +8%/ +25%/ +15%/ -22% >>>> 1024/ 4/ +25%/ +5%/ +25%/ +14%/ -21% >>>> 1024/ 8/ +27%/ +7%/ +25%/ +16%/ -21% >>>> 2048/ 1/ +32%/ +12%/ +31%/ +22%/ -38% >>>> 2048/ 2/ +33%/ +12%/ +30%/ +23%/ -36% >>>> 2048/ 4/ +31%/ +10%/ +31%/ +24%/ -37% >>>> 2048/ 8/ +105%/ +75%/ +33%/ +23%/ -39% >>>> 16384/ 1/ 0%/ -14%/ +2%/ 0%/ +19% >>>> 16384/ 2/ 0%/ -13%/ +19%/ -13%/ +17% >>>> 16384/ 4/ 0%/ -12%/ +3%/ 0%/ +2% >>>> 16384/ 8/ 0%/ -11%/ -2%/ +1%/ +1% >>>> size/session/+thu%/+normalize%/+tpkts%/+rpkts%/+ioexits%/ >>>> 64/ 1/ -7%/ -23%/ +4%/ +6%/ -74% >>>> 64/ 2/ -2%/ -12%/ +2%/ +2%/ -55% >>>> 64/ 4/ +2%/ -5%/ +10%/ -2%/ -43% >>>> 64/ 8/ -5%/ -5%/ +11%/ -34%/ -59% >>>> 256/ 1/ -6%/ -16%/ +9%/ +11%/ -60% >>>> 256/ 2/ +3%/ -4%/ +6%/ -3%/ -28% >>>> 256/ 4/ 0%/ -5%/ -9%/ -9%/ -10% >>>> 256/ 8/ -3%/ -6%/ -12%/ -9%/ -40% >>>> 512/ 1/ -4%/ -17%/ -10%/ +21%/ -34% >>>> 512/ 2/ 0%/ -9%/ -14%/ -3%/ -30% >>>> 512/ 4/ 0%/ -4%/ -18%/ -12%/ -4% >>>> 512/ 8/ -1%/ -4%/ -1%/ -5%/ +4% >>>> 1024/ 1/ 0%/ -16%/ +12%/ +11%/ -10% >>>> 1024/ 2/ 0%/ -11%/ 0%/ +5%/ -31% >>>> 1024/ 4/ 0%/ -4%/ -7%/ +1%/ -22% >>>> 1024/ 8/ -5%/ -6%/ -17%/ -29%/ -79% >>>> 2048/ 1/ 0%/ -16%/ +1%/ +9%/ -10% >>>> 2048/ 2/ 0%/ -12%/ +7%/ +9%/ -26% >>>> 2048/ 4/ 0%/ -7%/ -4%/ +3%/ -64% >>>> 2048/ 8/ -1%/ -5%/ -6%/ +4%/ -20% >>>> 16384/ 1/ 0%/ -12%/ +11%/ +7%/ -20% >>>> 16384/ 2/ 0%/ -7%/ +1%/ +5%/ -26% >>>> 16384/ 4/ 0%/ -5%/ +12%/ +22%/ -23% >>>> 16384/ 8/ 0%/ -1%/ -8%/ +5%/ -3% >>>> size/session/+thu%/+normalize%/+tpkts%/+rpkts%/+ioexits%/ >>>> 1/ 1/ +9%/ -29%/ +9%/ +9%/ +9% >>>> 1/ 25/ +6%/ -18%/ +6%/ +6%/ -1% >>>> 1/ 50/ +6%/ -19%/ +5%/ +5%/ -2% >>>> 1/ 100/ +5%/ -19%/ +4%/ +4%/ -3% >>>> 64/ 1/ +10%/ -28%/ +10%/ +10%/ +10% >>>> 64/ 25/ +8%/ -18%/ +7%/ +7%/ -2% >>>> 64/ 50/ +8%/ -17%/ +8%/ +8%/ -1% >>>> 64/ 100/ +8%/ -17%/ +8%/ +8%/ -1% >>>> 256/ 1/ +10%/ -28%/ +10%/ +10%/ +10% >>>> 256/ 25/ +15%/ -13%/ +15%/ +15%/ 0% >>>> 256/ 50/ +16%/ -14%/ +18%/ +18%/ +2% >>>> 256/ 100/ +15%/ -13%/ +12%/ +12%/ -2% >>>> >>>> Changes from V2: >>>> - poll also at the end of rx handling >>>> - factor out the polling logic and optimize the code a little bit >>>> - add two ioctls to get and set the busy poll timeout >>>> - test on ixgbe (which can give more stable and reproducable numbers) >>>> instead of mlx4. >>>> >>>> Changes from V1: >>>> - Add a comment for vhost_has_work() to explain why it could be >>>> lockless >>>> - Add param description for busyloop_timeout >>>> - Split out the busy polling logic into a new helper >>>> - Check and exit the loop when there's a pending signal >>>> - Disable preemption during busy looping to make sure lock_clock() was >>>> correctly used. >>>> >>>> Jason Wang (3): >>>> vhost: introduce vhost_has_work() >>>> vhost: introduce vhost_vq_more_avail() >>>> vhost_net: basic polling support >>>> >>>> drivers/vhost/net.c | 77 +++++++++++++++++++++++++++++++++++++++++++--- >>>> drivers/vhost/vhost.c | 48 +++++++++++++++++++++++------ >>>> drivers/vhost/vhost.h | 3 ++ >>>> include/uapi/linux/vhost.h | 11 +++++++ >>>> 4 files changed, 125 insertions(+), 14 deletions(-) >>>> >>> -- >>> To unsubscribe from this list: send the line "unsubscribe kvm" in >>> the body of a message to majordomo@vger.kernel.org >>> More majordomo info at http://vger.kernel.org/majordomo-info.html >> N�����r��y���b�X��ǧv�^�)޺{.n�+����{����zX����ܨ}���Ơz�&j:+v�������zZ+��+zf���h���~����i���z��w���?����&�)ߢf��^jǫy�m��@A�a��� 0��h��i > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/