From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Michael S. Tsirkin" Subject: Re: [PATCH RFC 1/2] virtio-net: bql support Date: Sun, 30 Dec 2018 13:45:23 -0500 Message-ID: <20181230134106-mutt-send-email-mst__15913.7886170813$1546195417$gmane$org@kernel.org> References: <20181205225323.12555-1-mst@redhat.com> <20181205225323.12555-2-mst@redhat.com> <21384cb5-99a6-7431-1039-b356521e1bc3@redhat.com> <20181226101528-mutt-send-email-mst@kernel.org> <0fa99d9b-e510-d7eb-db1b-831bd7610ce9@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <0fa99d9b-e510-d7eb-db1b-831bd7610ce9@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: Jason Wang Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, maxime.coquelin@redhat.com, wexu@redhat.com, "David S. Miller" List-Id: virtualization@lists.linuxfoundation.org T24gVGh1LCBEZWMgMjcsIDIwMTggYXQgMDY6MDA6MzZQTSArMDgwMCwgSmFzb24gV2FuZyB3cm90 ZToKPiAKPiBPbiAyMDE4LzEyLzI2IOS4i+WNiDExOjE5LCBNaWNoYWVsIFMuIFRzaXJraW4gd3Jv dGU6Cj4gPiBPbiBUaHUsIERlYyAwNiwgMjAxOCBhdCAwNDoxNzozNlBNICswODAwLCBKYXNvbiBX YW5nIHdyb3RlOgo+ID4gPiBPbiAyMDE4LzEyLzYg5LiK5Y2INjo1NCwgTWljaGFlbCBTLiBUc2ly a2luIHdyb3RlOgo+ID4gPiA+IFdoZW4gdXNlX25hcGkgaXMgc2V0LCBsZXQncyBlbmFibGUgQlFM cy4gIE5vdGU6IHNvbWUgb2YgdGhlIGlzc3VlcyBhcmUKPiA+ID4gPiBzaW1pbGFyIHRvIHdpZmku ICBJdCdzIHdvcnRoIGNvbnNpZGVyaW5nIHdoZXRoZXIgc29tZXRoaW5nIHNpbWlsYXIgdG8KPiA+ ID4gPiBjb21taXQgMzYxNDhjMmJiZmJlICgibWFjODAyMTE6IEFkanVzdCBUU1EgcGFjaW5nIHNo aWZ0IikgbWlnaHQgYmUKPiA+ID4gPiBiZW5lZml0aWFsLgo+ID4gPiAKPiA+ID4gSSd2ZSBwbGF5 ZWQgYSBzaW1pbGFyIHBhdGNoIHNldmVyYWwgZGF5cyBiZWZvcmUuIFRoZSB0cmlja3kgcGFydCBp cyB0aGUgbW9kZQo+ID4gPiBzd2l0Y2hpbmcgYmV0d2VlbiBuYXBpIGFuZCBubyBuYXBpLiBXZSBz aG91bGQgbWFrZSBzdXJlIHdoZW4gdGhlIHBhY2tldCBpcwo+ID4gPiBzZW50IGFuZCB0cmFrY2Vk IGJ5IEJRTCzCoCBpdCBzaG91bGQgYmUgY29uc3VtZWQgYnkgQlFMIGFzIHdlbGwuIEkgZGlkIGl0 IGJ5Cj4gPiA+IHRyYWNraW5nIGl0IHRocm91Z2ggc2tiLT5jYi7CoCBBbmQgZGVhbCB3aXRoIHRo ZSBmcmVlemUgYnkgcmVzZXQgdGhlIEJRTAo+ID4gPiBzdGF0dXMuIFBhdGNoIGF0dGFjaGVkLgo+ ID4gPiAKPiA+ID4gQnV0IHdoZW4gdGVzdGluZyB3aXRoIHZob3N0LW5ldCwgSSBkb24ndCB2ZXJ5 IGEgc3RhYmxlIHBlcmZvcm1hbmNlLAo+ID4gU28gaG93IGFib3V0IGluY3JlYXNpbmcgVFNRIHBh Y2luZyBzaGlmdCB0aGVuPwo+IAo+IAo+IEkgY2FuIHRlc3QgdGhpcy4gQnV0IGNoYW5naW5nIGRl ZmF1bHQgVENQIHZhbHVlIGlzIG11Y2ggbW9yZSB0aGFuIGEKPiB2aXJ0aW8tbmV0IHNwZWNpZmlj IHRoaW5nLgoKV2VsbCBzYW1lIGxvZ2ljIGFzIHdpZmkgYXBwbGllcy4gVW5wcmVkaWN0YWJsZSBs YXRlbmNpZXMgcmVsYXRlZAp0byByYWRpbyBpbiBvbmUgY2FzZSwgdG8gaG9zdCBzY2hlZHVsZXIg aW4gdGhlIG90aGVyLgoKPiAKPiA+IAo+ID4gPiBpdCB3YXMKPiA+ID4gcHJvYmFibHkgYmVjYXVz ZSB3ZSBiYXRjaCB0aGUgdXNlZCByaW5nIHVwZGF0aW5nIHNvIHR4IGludGVycnVwdCBtYXkgY29t ZQo+ID4gPiByYW5kb21seS4gV2UgcHJvYmFibHkgbmVlZCB0byBpbXBsZW1lbnQgdGltZSBib3Vu ZGVkIGNvYWxlc2NpbmcgbWVjaGFuaXNtCj4gPiA+IHdoaWNoIGNvdWxkIGJlIGNvbmZpZ3VyZWQg ZnJvbSB1c2Vyc3BhY2UuCj4gPiBJIGRvbid0IHRoaW5rIGl0J3MgcmVhc29uYWJsZSB0byBleHBl Y3QgdXNlcnNwYWNlIHRvIGJlIHRoYXQgc21hcnQgLi4uCj4gPiBXaHkgZG8gd2UgbmVlZCB0aW1l IGJvdW5kZWQ/IHVzZWQgcmluZyBpcyBhbHdheXMgdXBkYXRlZCB3aGVuIHJpbmcKPiA+IGJlY29t ZXMgZW1wdHkuCj4gCj4gCj4gV2UgZG9uJ3QgYWRkIHVzZWQgd2hlbiBtZWFucyBCUUwgbWF5IG5v dCBzZWUgdGhlIGNvbnN1bWVkIHBhY2tldCBpbiB0aW1lLgo+IEFuZCB0aGUgZGVsYXkgdmFyaWVz IGJhc2VkIG9uIHRoZSB3b3JrbG9hZCBzaW5jZSB3ZSBjb3VudCBwYWNrZXRzIG5vdCBieXRlcwo+ IG9yIHRpbWUgYmVmb3JlIGRvaW5nIHRoZSBiYXRjaGVkIHVwZGF0aW5nLgo+IAo+IFRoYW5rcwoK U29ycnkgSSBzdGlsbCBkb24ndCBnZXQgaXQuCldoZW4gbm90aGluZyBpcyBvdXRzdGFuZGluZyB0 aGVuIHdlIGRvIHVwZGF0ZSB0aGUgdXNlZC4KU28gaWYgQlFMIHN0b3BzIHVzZXJzcGFjZSBmcm9t IHNlbmRpbmcgcGFja2V0cyB0aGVuCndlIGdldCBhbiBpbnRlcnJ1cHQgYW5kIHBhY2tldHMgc3Rh cnQgZmxvd2luZyBhZ2Fpbi4KCkl0IG1pZ2h0IGJlIHN1Ym9wdGltYWwsIHdlIG1pZ2h0IG5lZWQg dG8gdHVuZSBpdCBidXQgSSBkb3VidCBydW5uaW5nCnRpbWVycyBpcyBhIHNvbHV0aW9uLCB0aW1l ciBpbnRlcnJ1cHRzIGNhdXNlIFZNIGV4aXRzLgoKPiAKPiA+IAo+ID4gPiBCdHcsIG1heWJlIGl0 J3MgdGltZSBqdXN0IGVuYWJsZSBuYXBpIFRYIGJ5IGRlZmF1bHQuIEkgZ2V0IH4xMCUgVENQX1JS Cj4gPiA+IHJlZ3Jlc3Npb24gb24gbWFjaGluZSB3aXRob3V0IEFQSUN2LCAoaGF2ZW4ndCBmb3Vu ZCB0aW1lIHRvIHRlc3QgQVBJQ3YKPiA+ID4gbWFjaGluZSkuIEJ1dCBjb25zaWRlciBpdCB3YXMg Zm9yIGNvcnJlY3RuZXNzLCBJIHRoaW5rIGl0J3MgYWNjZXB0YWJsZT8gVGhlbgo+ID4gPiB3ZSBj YW4gZG8gb3B0aW1pemF0aW9uIG9uIHRvcD8KPiA+ID4gCj4gPiA+IAo+ID4gPiBUaGFua3MKPiA+ ID4gCj4gPiA+IAo+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgUy4gVHNpcmtpbiA8bXN0 QHJlZGhhdC5jb20+Cj4gPiA+ID4gLS0tCj4gPiA+ID4gICAgZHJpdmVycy9uZXQvdmlydGlvX25l dC5jIHwgMjcgKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tCj4gPiA+ID4gICAgMSBmaWxlIGNo YW5nZWQsIDE5IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCj4gPiA+ID4gCj4gPiA+ID4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3ZpcnRpb19uZXQuYyBiL2RyaXZlcnMvbmV0L3ZpcnRp b19uZXQuYwo+ID4gPiA+IGluZGV4IGNlY2ZkNzdjOWYzYy4uYjY1N2JkZTZiOTRiIDEwMDY0NAo+ ID4gPiA+IC0tLSBhL2RyaXZlcnMvbmV0L3ZpcnRpb19uZXQuYwo+ID4gPiA+ICsrKyBiL2RyaXZl cnMvbmV0L3ZpcnRpb19uZXQuYwo+ID4gPiA+IEBAIC0xMzI1LDcgKzEzMjUsOCBAQCBzdGF0aWMg aW50IHZpcnRuZXRfcmVjZWl2ZShzdHJ1Y3QgcmVjZWl2ZV9xdWV1ZSAqcnEsIGludCBidWRnZXQs Cj4gPiA+ID4gICAgCXJldHVybiBzdGF0cy5wYWNrZXRzOwo+ID4gPiA+ICAgIH0KPiA+ID4gPiAt c3RhdGljIHZvaWQgZnJlZV9vbGRfeG1pdF9za2JzKHN0cnVjdCBzZW5kX3F1ZXVlICpzcSkKPiA+ ID4gPiArc3RhdGljIHZvaWQgZnJlZV9vbGRfeG1pdF9za2JzKHN0cnVjdCBzZW5kX3F1ZXVlICpz cSwgc3RydWN0IG5ldGRldl9xdWV1ZSAqdHhxLAo+ID4gPiA+ICsJCQkgICAgICAgYm9vbCB1c2Vf bmFwaSkKPiA+ID4gPiAgICB7Cj4gPiA+ID4gICAgCXN0cnVjdCBza19idWZmICpza2I7Cj4gPiA+ ID4gICAgCXVuc2lnbmVkIGludCBsZW47Cj4gPiA+ID4gQEAgLTEzNDcsNiArMTM0OCw5IEBAIHN0 YXRpYyB2b2lkIGZyZWVfb2xkX3htaXRfc2ticyhzdHJ1Y3Qgc2VuZF9xdWV1ZSAqc3EpCj4gPiA+ ID4gICAgCWlmICghcGFja2V0cykKPiA+ID4gPiAgICAJCXJldHVybjsKPiA+ID4gPiArCWlmICh1 c2VfbmFwaSkKPiA+ID4gPiArCQluZXRkZXZfdHhfY29tcGxldGVkX3F1ZXVlKHR4cSwgcGFja2V0 cywgYnl0ZXMpOwo+ID4gPiA+ICsKPiA+ID4gPiAgICAJdTY0X3N0YXRzX3VwZGF0ZV9iZWdpbigm c3EtPnN0YXRzLnN5bmNwKTsKPiA+ID4gPiAgICAJc3EtPnN0YXRzLmJ5dGVzICs9IGJ5dGVzOwo+ ID4gPiA+ICAgIAlzcS0+c3RhdHMucGFja2V0cyArPSBwYWNrZXRzOwo+ID4gPiA+IEBAIC0xMzY0 LDcgKzEzNjgsNyBAQCBzdGF0aWMgdm9pZCB2aXJ0bmV0X3BvbGxfY2xlYW50eChzdHJ1Y3QgcmVj ZWl2ZV9xdWV1ZSAqcnEpCj4gPiA+ID4gICAgCQlyZXR1cm47Cj4gPiA+ID4gICAgCWlmIChfX25l dGlmX3R4X3RyeWxvY2sodHhxKSkgewo+ID4gPiA+IC0JCWZyZWVfb2xkX3htaXRfc2ticyhzcSk7 Cj4gPiA+ID4gKwkJZnJlZV9vbGRfeG1pdF9za2JzKHNxLCB0eHEsIHRydWUpOwo+ID4gPiA+ICAg IAkJX19uZXRpZl90eF91bmxvY2sodHhxKTsKPiA+ID4gPiAgICAJfQo+ID4gPiA+IEBAIC0xNDQw LDcgKzE0NDQsNyBAQCBzdGF0aWMgaW50IHZpcnRuZXRfcG9sbF90eChzdHJ1Y3QgbmFwaV9zdHJ1 Y3QgKm5hcGksIGludCBidWRnZXQpCj4gPiA+ID4gICAgCXN0cnVjdCBuZXRkZXZfcXVldWUgKnR4 cSA9IG5ldGRldl9nZXRfdHhfcXVldWUodmktPmRldiwgdnEydHhxKHNxLT52cSkpOwo+ID4gPiA+ ICAgIAlfX25ldGlmX3R4X2xvY2sodHhxLCByYXdfc21wX3Byb2Nlc3Nvcl9pZCgpKTsKPiA+ID4g PiAtCWZyZWVfb2xkX3htaXRfc2ticyhzcSk7Cj4gPiA+ID4gKwlmcmVlX29sZF94bWl0X3NrYnMo c3EsIHR4cSwgdHJ1ZSk7Cj4gPiA+ID4gICAgCV9fbmV0aWZfdHhfdW5sb2NrKHR4cSk7Cj4gPiA+ ID4gICAgCXZpcnRxdWV1ZV9uYXBpX2NvbXBsZXRlKG5hcGksIHNxLT52cSwgMCk7Cj4gPiA+ID4g QEAgLTE1MDUsMTMgKzE1MDksMTUgQEAgc3RhdGljIG5ldGRldl90eF90IHN0YXJ0X3htaXQoc3Ry dWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5ldF9kZXZpY2UgKmRldikKPiA+ID4gPiAgICAJc3Ry dWN0IHNlbmRfcXVldWUgKnNxID0gJnZpLT5zcVtxbnVtXTsKPiA+ID4gPiAgICAJaW50IGVycjsK PiA+ID4gPiAgICAJc3RydWN0IG5ldGRldl9xdWV1ZSAqdHhxID0gbmV0ZGV2X2dldF90eF9xdWV1 ZShkZXYsIHFudW0pOwo+ID4gPiA+IC0JYm9vbCBraWNrID0gIXNrYi0+eG1pdF9tb3JlOwo+ID4g PiA+ICsJYm9vbCBtb3JlID0gc2tiLT54bWl0X21vcmU7Cj4gPiA+ID4gICAgCWJvb2wgdXNlX25h cGkgPSBzcS0+bmFwaS53ZWlnaHQ7Cj4gPiA+ID4gKwl1bnNpZ25lZCBpbnQgYnl0ZXMgPSBza2It PmxlbjsKPiA+ID4gPiArCWJvb2wga2ljazsKPiA+ID4gPiAgICAJLyogRnJlZSB1cCBhbnkgcGVu ZGluZyBvbGQgYnVmZmVycyBiZWZvcmUgcXVldWVpbmcgbmV3IG9uZXMuICovCj4gPiA+ID4gLQlm cmVlX29sZF94bWl0X3NrYnMoc3EpOwo+ID4gPiA+ICsJZnJlZV9vbGRfeG1pdF9za2JzKHNxLCB0 eHEsIHVzZV9uYXBpKTsKPiA+ID4gPiAtCWlmICh1c2VfbmFwaSAmJiBraWNrKQo+ID4gPiA+ICsJ aWYgKHVzZV9uYXBpICYmICFtb3JlKQo+ID4gPiA+ICAgIAkJdmlydHF1ZXVlX2VuYWJsZV9jYl9k ZWxheWVkKHNxLT52cSk7Cj4gPiA+ID4gICAgCS8qIHRpbWVzdGFtcCBwYWNrZXQgaW4gc29mdHdh cmUgKi8KPiA+ID4gPiBAQCAtMTU1Miw3ICsxNTU4LDcgQEAgc3RhdGljIG5ldGRldl90eF90IHN0 YXJ0X3htaXQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5ldF9kZXZpY2UgKmRldikKPiA+ ID4gPiAgICAJCWlmICghdXNlX25hcGkgJiYKPiA+ID4gPiAgICAJCSAgICB1bmxpa2VseSghdmly dHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkKHNxLT52cSkpKSB7Cj4gPiA+ID4gICAgCQkJLyogTW9y ZSBqdXN0IGdvdCB1c2VkLCBmcmVlIHRoZW0gdGhlbiByZWNoZWNrLiAqLwo+ID4gPiA+IC0JCQlm cmVlX29sZF94bWl0X3NrYnMoc3EpOwo+ID4gPiA+ICsJCQlmcmVlX29sZF94bWl0X3NrYnMoc3Es IHR4cSwgZmFsc2UpOwo+ID4gPiA+ICAgIAkJCWlmIChzcS0+dnEtPm51bV9mcmVlID49IDIrTUFY X1NLQl9GUkFHUykgewo+ID4gPiA+ICAgIAkJCQluZXRpZl9zdGFydF9zdWJxdWV1ZShkZXYsIHFu dW0pOwo+ID4gPiA+ICAgIAkJCQl2aXJ0cXVldWVfZGlzYWJsZV9jYihzcS0+dnEpOwo+ID4gPiA+ IEBAIC0xNTYwLDcgKzE1NjYsMTIgQEAgc3RhdGljIG5ldGRldl90eF90IHN0YXJ0X3htaXQoc3Ry dWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5ldF9kZXZpY2UgKmRldikKPiA+ID4gPiAgICAJCX0K PiA+ID4gPiAgICAJfQo+ID4gPiA+IC0JaWYgKGtpY2sgfHwgbmV0aWZfeG1pdF9zdG9wcGVkKHR4 cSkpIHsKPiA+ID4gPiArCWlmICh1c2VfbmFwaSkKPiA+ID4gPiArCQlraWNrID0gX19uZXRkZXZf dHhfc2VudF9xdWV1ZSh0eHEsIGJ5dGVzLCBtb3JlKTsKPiA+ID4gPiArCWVsc2UKPiA+ID4gPiAr CQlraWNrID0gIW1vcmUgfHwgbmV0aWZfeG1pdF9zdG9wcGVkKHR4cSk7Cj4gPiA+ID4gKwo+ID4g PiA+ICsJaWYgKGtpY2spIHsKPiA+ID4gPiAgICAJCWlmICh2aXJ0cXVldWVfa2lja19wcmVwYXJl KHNxLT52cSkgJiYgdmlydHF1ZXVlX25vdGlmeShzcS0+dnEpKSB7Cj4gPiA+ID4gICAgCQkJdTY0 X3N0YXRzX3VwZGF0ZV9iZWdpbigmc3EtPnN0YXRzLnN5bmNwKTsKPiA+ID4gPiAgICAJCQlzcS0+ c3RhdHMua2lja3MrKzsKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KVmlydHVhbGl6YXRpb24gbWFpbGluZyBsaXN0ClZpcnR1YWxpemF0aW9uQGxpc3RzLmxp bnV4LWZvdW5kYXRpb24ub3JnCmh0dHBzOi8vbGlzdHMubGludXhmb3VuZGF0aW9uLm9yZy9tYWls bWFuL2xpc3RpbmZvL3ZpcnR1YWxpemF0aW9u