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: Fri, 13 Nov 2015 17:20:51 +0800 Message-ID: <5645AB73.7060808@redhat.com> References: <1447323395-28052-1-git-send-email-jasowang@redhat.com> <564467E9.9080409@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: 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 CgpPbiAxMS8xMi8yMDE1IDA4OjAyIFBNLCBGZWxpcGUgRnJhbmNpb3NpIHdyb3RlOgo+IEhpIEph c29uLAo+Cj4gSSB1bmRlcnN0YW5kIHlvdXIgYnVzeSBsb29wIHRpbWVvdXQgaXMgcXVpdGUgY29u c2VydmF0aXZlIGF0IDUwdXMuIERpZCB5b3UgdHJ5IGFueSBvdGhlciB2YWx1ZXM/CgpJJ3ZlIGFs c28gdHJpZWQgMjB1cy4gQW5kIHJlc3VsdHMgc2hvd3MgNTB1cyB3YXMgYmV0dGVyIGluOgoKLSB2 ZXJ5IHNtYWxsIHBhY2tldCB0eCAoZS5nIDY0Ynl0ZXMgYXQgbW9zdCA0NiUgaW1wcm92ZW1lbnQp Ci0gVENQX1JSIChhdCBtb3N0IDExJSBpbXByb3ZlbWVudCkKCkJ1dCBJIHdpbGwgdGVzdCBiaWdn ZXIgdmFsdWVzLiBJbiBmYWN0LCBmb3IgbmV0IGl0c2VsZiwgd2UgY2FuIGJlIGV2ZW4KbW9yZSBh Z2dyZXNzaXZlOiBtYWtlIHZob3N0IHBvbGwgZm9yZXZlciBidXQgSSBoYXZlbid0IHRpcmVkIHRo aXMuCgo+Cj4gQWxzbywgZGlkIHlvdSBtZWFzdXJlIGhvdyBwb2xsaW5nIGFmZmVjdHMgbWFueSBW TXMgdGFsa2luZyB0byBlYWNoIG90aGVyIChlLmcuIDIwIFZNcyBvbiBlYWNoIGhvc3QsIHBlcmhh cHMgd2l0aCBzZXZlcmFsIHZOSUNzIGVhY2gsIHRyYW5zbWl0dGluZyB0byBhIGNvcnJlc3BvbmRp bmcgVk0vdk5JQyBwYWlyIG9uIGFub3RoZXIgaG9zdCk/CgpOb3QgeWV0LCBpbiBteSB0b2RvIGxp c3QuCgo+Cj4KPiBPbiBhIGNvbXBsZXRlIHNlcGFyYXRlIGV4cGVyaW1lbnQgKGJ1c3kgd2FpdGlu ZyBvbiBzdG9yYWdlIEkvTyByaW5ncyBvbiBYZW4pLCBJIGhhdmUgb2JzZXJ2ZWQgdGhhdCBiaWdn ZXIgdGltZW91dHMgZ2F2ZSBiaWdnZXIgYmVuZWZpdHMuIE9uIHRoZSBvdGhlciBoYW5kLCBhbGwg Y2FzZXMgdGhhdCBjb250ZW5kZWQgZm9yIENQVSB3ZXJlIGJhZGx5IGh1cnQgd2l0aCBhbnkgc29y dCBvZiBwb2xsaW5nLgo+Cj4gVGhlIGNhc2VzIHRoYXQgY29udGVuZGVkIGZvciBDUFUgY29uc2lz dGVkIG9mIG1hbnkgVk1zIGdlbmVyYXRpbmcgd29ya2xvYWQgb3ZlciB2ZXJ5IGZhc3QgSS9PIGRl dmljZXMgKGluIHRoYXQgY2FzZSwgc2V2ZXJhbCBOVk1lIGRldmljZXMgb24gYSBzaW5nbGUgaG9z dCkuIEFuZCB0aGUgbWV0cmljIHRoYXQgZ290IGFmZmVjdGVkIHdhcyBhZ2dyZWdhdGUgdGhyb3Vn aHB1dCBmcm9tIGFsbCBWTXMuCj4KPiBUaGUgc29sdXRpb24gd2FzIHRvIGRldGVybWluZSB3aGV0 aGVyIHRvIHBvbGwgZGVwZW5kaW5nIG9uIHRoZSBob3N0J3Mgb3ZlcmFsbCBDUFUgdXRpbGlzYXRp b24gYXQgdGhhdCBtb21lbnQuIFRoYXQgZ2F2ZSBtZSB0aGUgYmVzdCBvZiBib3RoIHdvcmxkcyBh cyBwb2xsaW5nIG1hZGUgZXZlcnl0aGluZyBmYXN0ZXIgd2l0aG91dCBzbG93aW5nIGRvd24gYW55 IG90aGVyIG1ldHJpYy4KCllvdSBtZWFuIGEgdGhyZXNob2xkIGFuZCBleGl0IHBvbGxpbmcgd2hl biBpdCBleGNlZWRzIHRoaXM/IEkgdXNlIGEKc2ltcGxlciBtZXRob2Q6IGp1c3QgZXhpdCB0aGUg YnVzeSBsb29wIHdoZW4gdGhlcmUncyBtb3JlIHRoYW4gb25lCnByb2Nlc3NlcyBpcyBpbiBydW5u aW5nIHN0YXRlLiBJIHRlc3QgdGhpcyBtZXRob2QgaW4gdGhlIHBhc3QgZm9yIHNvY2tldApidXN5 IHJlYWQgKGh0dHA6Ly93d3cuZ29zc2FtZXItdGhyZWFkcy5jb20vbGlzdHMvbGludXgva2VybmVs LzE5OTc1MzEpCndoaWNoIHNlZW1zIGNhbiBzb2x2ZSB0aGUgaXNzdWUuIEJ1dCBoYXZlbid0IHRl c3RlZCB0aGlzIGZvciB2aG9zdApwb2xsaW5nLiBXaWxsIHJ1biBzb21lIHNpbXBsZSB0ZXN0IChl LmcgcGluIHR3byB2aG9zdCB0aHJlYWRzIGluIG9uZQpob3N0IGNwdSksIGFuZCBzZWUgaG93IHdl bGwgaXQgcGVyZm9ybS4KClRoYW5rcwoKPgo+IFRoYW5rcywKPiBGZWxpcGUKPgo+Cj4KPiBPbiAx Mi8xMS8yMDE1IDEwOjIwLCAia3ZtLW93bmVyQHZnZXIua2VybmVsLm9yZyBvbiBiZWhhbGYgb2Yg SmFzb24gV2FuZyIgPGt2bS1vd25lckB2Z2VyLmtlcm5lbC5vcmcgb24gYmVoYWxmIG9mIGphc293 YW5nQHJlZGhhdC5jb20+IHdyb3RlOgo+Cj4+Cj4+IE9uIDExLzEyLzIwMTUgMDY6MTYgUE0sIEph c29uIFdhbmcgd3JvdGU6Cj4+PiBIaSBhbGw6Cj4+Pgo+Pj4gVGhpcyBzZXJpZXMgdHJpZXMgdG8g YWRkIGJhc2ljIGJ1c3kgcG9sbGluZyBmb3Igdmhvc3QgbmV0LiBUaGUgaWRlYSBpcwo+Pj4gc2lt cGxlOiBhdCB0aGUgZW5kIG9mIHR4L3J4IHByb2Nlc3NpbmcsIGJ1c3kgcG9sbGluZyBmb3IgbmV3 IHR4IGFkZGVkCj4+PiBkZXNjcmlwdG9yIGFuZCByeCByZWNlaXZlIHNvY2tldCBmb3IgYSB3aGls ZS4gVGhlIG1heGltdW0gbnVtYmVyIG9mCj4+PiB0aW1lIChpbiB1cykgY291bGQgYmUgc3BlbnQg b24gYnVzeSBwb2xsaW5nIHdhcyBzcGVjaWZpZWQgaW9jdGwuCj4+Pgo+Pj4gVGVzdCB3ZXJlIGRv bmUgdGhyb3VnaDoKPj4+Cj4+PiAtIDUwIHVzIGFzIGJ1c3kgbG9vcCB0aW1lb3V0Cj4+PiAtIE5l dHBlcmYgMi42Cj4+PiAtIFR3byBtYWNoaW5lcyB3aXRoIGJhY2sgdG8gYmFjayBjb25uZWN0ZWQg aXhnYmUKPj4+IC0gR3Vlc3Qgd2l0aCAxIHZjcHUgYW5kIDEgcXVldWUKPj4+Cj4+PiBSZXN1bHRz Ogo+Pj4gLSBGb3Igc3RyZWFtIHdvcmtsb2FkLCBpb2V4aXRzIHdlcmUgcmVkdWNlZCBkcmFtYXRp Y2FsbHkgaW4gbWVkaXVtCj4+PiAgIHNpemUgKDEwMjQtMjA0OCkgb2YgdHggKGF0IG1vc3QgLTM5 JSkgYW5kIGFsbW9zdCBhbGwgcnggKGF0IG1vc3QKPj4+ICAgLTc5JSkgYXMgYSByZXN1bHQgb2Yg cG9sbGluZy4gVGhpcyBjb21wZW5zYXRlIGZvciB0aGUgcG9zc2libGUKPj4+ICAgd2FzdGVkIGNw dSBjeWNsZXMgbW9yZSBvciBsZXNzLiBUaGF0IHBvcmJhYmx5IHdoeSB3ZSBjYW4gc3RpbGwgc2Vl Cj4+PiAgIHNvbWUgaW5jcmVhc2luZyBpbiB0aGUgbm9ybWFsaXplZCB0aHJvdWdocHV0IGluIHNv bWUgY2FzZXMuCj4+PiAtIFRocm91Z2hwdXQgb2YgdHggd2VyZSBpbmNyZWFzZWQgKGF0IG1vc3Qg MTA1JSkgZXhwZWN0IGZvciB0aGUgaHVnZQo+Pj4gICB3cml0ZSAoMTYzODQpLiBBbmQgd2UgY2Fu IHNlbmQgbW9yZSBwYWNrZXRzIGluIHRoZSBjYXNlICgrdHBrdHMgd2VyZQo+Pj4gICBpbmNyZWFz ZWQpLgo+Pj4gLSBWZXJ5IG1pbm9yIHJ4IHJlZ3Jlc3Npb24gaW4gc29tZSBjYXNlcy4KPj4+IC0g SW1wcm92ZW1udCBvbiBUQ1BfUlIgKGF0IG1vc3QgMTYlKS4KPj4gRm9yZ2V0IHRvIG1lbnRpb24s IHRoZSBmb2xsb3dpbmcgdGVzdCByZXN1bHRzIGJ5IG9yZGVyIGFyZToKPj4KPj4gMSkgR3Vlc3Qg VFgKPj4gMikgR3Vlc3QgUlgKPj4gMykgVENQX1JSCj4+Cj4+PiBzaXplL3Nlc3Npb24vK3RodSUv K25vcm1hbGl6ZSUvK3Rwa3RzJS8rcnBrdHMlLytpb2V4aXRzJS8KPj4+ICAgIDY0LyAgICAgMS8g ICArOSUvICAtMTclLyAgICs1JS8gICsxMCUvICAgLTIlCj4+PiAgICA2NC8gICAgIDIvICAgKzgl LyAgLTE4JS8gICArNiUvICArMTAlLyAgIC0xJQo+Pj4gICAgNjQvICAgICA0LyAgICs0JS8gIC0y MSUvICAgKzYlLyAgKzEwJS8gICAtMSUKPj4+ICAgIDY0LyAgICAgOC8gICArOSUvICAtMTclLyAg ICs2JS8gICArOSUvICAgLTIlCj4+PiAgIDI1Ni8gICAgIDEvICArMjAlLyAgIC0xJS8gICsxNSUv ICArMTElLyAgIC05JQo+Pj4gICAyNTYvICAgICAyLyAgKzE1JS8gICAtNiUvICArMTUlLyAgICs4 JS8gICAtOCUKPj4+ICAgMjU2LyAgICAgNC8gICsxNyUvICAgLTQlLyAgKzE2JS8gICArOCUvICAg LTglCj4+PiAgIDI1Ni8gICAgIDgvICAtNjElLyAgLTY5JS8gICsxNiUvICArMTAlLyAgLTEwJQo+ Pj4gICA1MTIvICAgICAxLyAgKzE1JS8gICAtMyUvICArMTklLyAgKzE4JS8gIC0xMSUKPj4+ICAg NTEyLyAgICAgMi8gICsxOSUvICAgIDAlLyAgKzE5JS8gICsxMyUvICAtMTAlCj4+PiAgIDUxMi8g ICAgIDQvICArMTglLyAgIC0yJS8gICsxOCUvICArMTUlLyAgLTEwJQo+Pj4gICA1MTIvICAgICA4 LyAgKzE3JS8gICAtMSUvICArMTglLyAgKzE1JS8gIC0xMSUKPj4+ICAxMDI0LyAgICAgMS8gICsy NSUvICAgKzQlLyAgKzI3JS8gICsxNiUvICAtMjElCj4+PiAgMTAyNC8gICAgIDIvICArMjglLyAg ICs4JS8gICsyNSUvICArMTUlLyAgLTIyJQo+Pj4gIDEwMjQvICAgICA0LyAgKzI1JS8gICArNSUv ICArMjUlLyAgKzE0JS8gIC0yMSUKPj4+ICAxMDI0LyAgICAgOC8gICsyNyUvICAgKzclLyAgKzI1 JS8gICsxNiUvICAtMjElCj4+PiAgMjA0OC8gICAgIDEvICArMzIlLyAgKzEyJS8gICszMSUvICAr MjIlLyAgLTM4JQo+Pj4gIDIwNDgvICAgICAyLyAgKzMzJS8gICsxMiUvICArMzAlLyAgKzIzJS8g IC0zNiUKPj4+ICAyMDQ4LyAgICAgNC8gICszMSUvICArMTAlLyAgKzMxJS8gICsyNCUvICAtMzcl Cj4+PiAgMjA0OC8gICAgIDgvICsxMDUlLyAgKzc1JS8gICszMyUvICArMjMlLyAgLTM5JQo+Pj4g MTYzODQvICAgICAxLyAgICAwJS8gIC0xNCUvICAgKzIlLyAgICAwJS8gICsxOSUKPj4+IDE2Mzg0 LyAgICAgMi8gICAgMCUvICAtMTMlLyAgKzE5JS8gIC0xMyUvICArMTclCj4+PiAxNjM4NC8gICAg IDQvICAgIDAlLyAgLTEyJS8gICArMyUvICAgIDAlLyAgICsyJQo+Pj4gMTYzODQvICAgICA4LyAg ICAwJS8gIC0xMSUvICAgLTIlLyAgICsxJS8gICArMSUKPj4+IHNpemUvc2Vzc2lvbi8rdGh1JS8r bm9ybWFsaXplJS8rdHBrdHMlLytycGt0cyUvK2lvZXhpdHMlLwo+Pj4gICAgNjQvICAgICAxLyAg IC03JS8gIC0yMyUvICAgKzQlLyAgICs2JS8gIC03NCUKPj4+ICAgIDY0LyAgICAgMi8gICAtMiUv ICAtMTIlLyAgICsyJS8gICArMiUvICAtNTUlCj4+PiAgICA2NC8gICAgIDQvICAgKzIlLyAgIC01 JS8gICsxMCUvICAgLTIlLyAgLTQzJQo+Pj4gICAgNjQvICAgICA4LyAgIC01JS8gICAtNSUvICAr MTElLyAgLTM0JS8gIC01OSUKPj4+ICAgMjU2LyAgICAgMS8gICAtNiUvICAtMTYlLyAgICs5JS8g ICsxMSUvICAtNjAlCj4+PiAgIDI1Ni8gICAgIDIvICAgKzMlLyAgIC00JS8gICArNiUvICAgLTMl LyAgLTI4JQo+Pj4gICAyNTYvICAgICA0LyAgICAwJS8gICAtNSUvICAgLTklLyAgIC05JS8gIC0x MCUKPj4+ICAgMjU2LyAgICAgOC8gICAtMyUvICAgLTYlLyAgLTEyJS8gICAtOSUvICAtNDAlCj4+ PiAgIDUxMi8gICAgIDEvICAgLTQlLyAgLTE3JS8gIC0xMCUvICArMjElLyAgLTM0JQo+Pj4gICA1 MTIvICAgICAyLyAgICAwJS8gICAtOSUvICAtMTQlLyAgIC0zJS8gIC0zMCUKPj4+ICAgNTEyLyAg ICAgNC8gICAgMCUvICAgLTQlLyAgLTE4JS8gIC0xMiUvICAgLTQlCj4+PiAgIDUxMi8gICAgIDgv ICAgLTElLyAgIC00JS8gICAtMSUvICAgLTUlLyAgICs0JQo+Pj4gIDEwMjQvICAgICAxLyAgICAw JS8gIC0xNiUvICArMTIlLyAgKzExJS8gIC0xMCUKPj4+ICAxMDI0LyAgICAgMi8gICAgMCUvICAt MTElLyAgICAwJS8gICArNSUvICAtMzElCj4+PiAgMTAyNC8gICAgIDQvICAgIDAlLyAgIC00JS8g ICAtNyUvICAgKzElLyAgLTIyJQo+Pj4gIDEwMjQvICAgICA4LyAgIC01JS8gICAtNiUvICAtMTcl LyAgLTI5JS8gIC03OSUKPj4+ICAyMDQ4LyAgICAgMS8gICAgMCUvICAtMTYlLyAgICsxJS8gICAr OSUvICAtMTAlCj4+PiAgMjA0OC8gICAgIDIvICAgIDAlLyAgLTEyJS8gICArNyUvICAgKzklLyAg LTI2JQo+Pj4gIDIwNDgvICAgICA0LyAgICAwJS8gICAtNyUvICAgLTQlLyAgICszJS8gIC02NCUK Pj4+ICAyMDQ4LyAgICAgOC8gICAtMSUvICAgLTUlLyAgIC02JS8gICArNCUvICAtMjAlCj4+PiAx NjM4NC8gICAgIDEvICAgIDAlLyAgLTEyJS8gICsxMSUvICAgKzclLyAgLTIwJQo+Pj4gMTYzODQv ICAgICAyLyAgICAwJS8gICAtNyUvICAgKzElLyAgICs1JS8gIC0yNiUKPj4+IDE2Mzg0LyAgICAg NC8gICAgMCUvICAgLTUlLyAgKzEyJS8gICsyMiUvICAtMjMlCj4+PiAxNjM4NC8gICAgIDgvICAg IDAlLyAgIC0xJS8gICAtOCUvICAgKzUlLyAgIC0zJQo+Pj4gc2l6ZS9zZXNzaW9uLyt0aHUlLytu b3JtYWxpemUlLyt0cGt0cyUvK3Jwa3RzJS8raW9leGl0cyUvCj4+PiAgICAgMS8gICAgIDEvICAg KzklLyAgLTI5JS8gICArOSUvICAgKzklLyAgICs5JQo+Pj4gICAgIDEvICAgIDI1LyAgICs2JS8g IC0xOCUvICAgKzYlLyAgICs2JS8gICAtMSUKPj4+ICAgICAxLyAgICA1MC8gICArNiUvICAtMTkl LyAgICs1JS8gICArNSUvICAgLTIlCj4+PiAgICAgMS8gICAxMDAvICAgKzUlLyAgLTE5JS8gICAr NCUvICAgKzQlLyAgIC0zJQo+Pj4gICAgNjQvICAgICAxLyAgKzEwJS8gIC0yOCUvICArMTAlLyAg KzEwJS8gICsxMCUKPj4+ICAgIDY0LyAgICAyNS8gICArOCUvICAtMTglLyAgICs3JS8gICArNyUv ICAgLTIlCj4+PiAgICA2NC8gICAgNTAvICAgKzglLyAgLTE3JS8gICArOCUvICAgKzglLyAgIC0x JQo+Pj4gICAgNjQvICAgMTAwLyAgICs4JS8gIC0xNyUvICAgKzglLyAgICs4JS8gICAtMSUKPj4+ ICAgMjU2LyAgICAgMS8gICsxMCUvICAtMjglLyAgKzEwJS8gICsxMCUvICArMTAlCj4+PiAgIDI1 Ni8gICAgMjUvICArMTUlLyAgLTEzJS8gICsxNSUvICArMTUlLyAgICAwJQo+Pj4gICAyNTYvICAg IDUwLyAgKzE2JS8gIC0xNCUvICArMTglLyAgKzE4JS8gICArMiUKPj4+ICAgMjU2LyAgIDEwMC8g ICsxNSUvICAtMTMlLyAgKzEyJS8gICsxMiUvICAgLTIlCj4+Pgo+Pj4gQ2hhbmdlcyBmcm9tIFYy Ogo+Pj4gLSBwb2xsIGFsc28gYXQgdGhlIGVuZCBvZiByeCBoYW5kbGluZwo+Pj4gLSBmYWN0b3Ig b3V0IHRoZSBwb2xsaW5nIGxvZ2ljIGFuZCBvcHRpbWl6ZSB0aGUgY29kZSBhIGxpdHRsZSBiaXQK Pj4+IC0gYWRkIHR3byBpb2N0bHMgdG8gZ2V0IGFuZCBzZXQgdGhlIGJ1c3kgcG9sbCB0aW1lb3V0 Cj4+PiAtIHRlc3Qgb24gaXhnYmUgKHdoaWNoIGNhbiBnaXZlIG1vcmUgc3RhYmxlIGFuZCByZXBy b2R1Y2FibGUgbnVtYmVycykKPj4+ICAgaW5zdGVhZCBvZiBtbHg0Lgo+Pj4KPj4+IENoYW5nZXMg ZnJvbSBWMToKPj4+IC0gQWRkIGEgY29tbWVudCBmb3Igdmhvc3RfaGFzX3dvcmsoKSB0byBleHBs YWluIHdoeSBpdCBjb3VsZCBiZQo+Pj4gICBsb2NrbGVzcwo+Pj4gLSBBZGQgcGFyYW0gZGVzY3Jp cHRpb24gZm9yIGJ1c3lsb29wX3RpbWVvdXQKPj4+IC0gU3BsaXQgb3V0IHRoZSBidXN5IHBvbGxp bmcgbG9naWMgaW50byBhIG5ldyBoZWxwZXIKPj4+IC0gQ2hlY2sgYW5kIGV4aXQgdGhlIGxvb3Ag d2hlbiB0aGVyZSdzIGEgcGVuZGluZyBzaWduYWwKPj4+IC0gRGlzYWJsZSBwcmVlbXB0aW9uIGR1 cmluZyBidXN5IGxvb3BpbmcgdG8gbWFrZSBzdXJlIGxvY2tfY2xvY2soKSB3YXMKPj4+ICAgY29y cmVjdGx5IHVzZWQuCj4+Pgo+Pj4gSmFzb24gV2FuZyAoMyk6Cj4+PiAgIHZob3N0OiBpbnRyb2R1 Y2Ugdmhvc3RfaGFzX3dvcmsoKQo+Pj4gICB2aG9zdDogaW50cm9kdWNlIHZob3N0X3ZxX21vcmVf YXZhaWwoKQo+Pj4gICB2aG9zdF9uZXQ6IGJhc2ljIHBvbGxpbmcgc3VwcG9ydAo+Pj4KPj4+ICBk cml2ZXJzL3Zob3N0L25ldC5jICAgICAgICB8IDc3ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKystLS0KPj4+ICBkcml2ZXJzL3Zob3N0L3Zob3N0LmMgICAgICB8IDQ4 ICsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCj4+PiAgZHJpdmVycy92aG9zdC92aG9zdC5o ICAgICAgfCAgMyArKwo+Pj4gIGluY2x1ZGUvdWFwaS9saW51eC92aG9zdC5oIHwgMTEgKysrKysr Kwo+Pj4gIDQgZmlsZXMgY2hhbmdlZCwgMTI1IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygt KQo+Pj4KPj4gLS0KPj4gVG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNlbmQgdGhlIGxp bmUgInVuc3Vic2NyaWJlIGt2bSIgaW4KPj4gdGhlIGJvZHkgb2YgYSBtZXNzYWdlIHRvIG1ham9y ZG9tb0B2Z2VyLmtlcm5lbC5vcmcKPj4gTW9yZSBtYWpvcmRvbW8gaW5mbyBhdCAgaHR0cDovL3Zn ZXIua2VybmVsLm9yZy9tYWpvcmRvbW8taW5mby5odG1sCj4gTu+/ve+/ve+/ve+/ve+/vXLvv73v v71577+977+977+9Yu+/vVjvv73vv73Hp3bvv71e77+9Kd66ey5u77+9K++/ve+/ve+/ve+/vXvv v73vv73vv73vv716WO+/ve+/vRfvv73vv73cqH3vv73vv73vv73GoHrvv70majordu+/ve+/ve+/ vQfvv73vv73vv73vv716Wivvv73vv70rembvv73vv73vv71o77+977+977+9fu+/ve+/ve+/ve+/ vWnvv73vv73vv71677+9Hu+/vXfvv73vv73vv70/77+977+977+977+9Ju+/vSnfohtm77+977+9 XmrHq3nvv71t77+977+9QEHvv71h77+977+9f++/vQww77+977+9aO+/vQ/vv71pfwoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KVmlydHVhbGl6YXRpb24g bWFpbGluZyBsaXN0ClZpcnR1YWxpemF0aW9uQGxpc3RzLmxpbnV4LWZvdW5kYXRpb24ub3JnCmh0 dHBzOi8vbGlzdHMubGludXhmb3VuZGF0aW9uLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3ZpcnR1YWxp emF0aW9u From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754521AbbKMJVJ (ORCPT ); Fri, 13 Nov 2015 04:21:09 -0500 Received: from mx1.redhat.com ([209.132.183.28]:42946 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753950AbbKMJVA (ORCPT ); Fri, 13 Nov 2015 04:21:00 -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> 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: <5645AB73.7060808@redhat.com> Date: Fri, 13 Nov 2015 17:20:51 +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: 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/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 > > 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