From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out30-132.freemail.mail.aliyun.com ([115.124.30.132]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1neYf3-000Afd-Ug for linux-um@lists.infradead.org; Wed, 13 Apr 2022 08:47:40 +0000 Message-ID: <1649838917.6726515-10-xuanzhuo@linux.alibaba.com> Subject: Re: [PATCH v9 31/32] virtio_net: support rx/tx queue resize Date: Wed, 13 Apr 2022 16:35:17 +0800 From: Xuan Zhuo References: <20220406034346.74409-1-xuanzhuo@linux.alibaba.com> <20220406034346.74409-32-xuanzhuo@linux.alibaba.com> <122008a6-1e79-14d3-1478-59f96464afc9@redhat.com> In-Reply-To: <122008a6-1e79-14d3-1478-59f96464afc9@redhat.com> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-um" Errors-To: linux-um-bounces+geert=linux-m68k.org@lists.infradead.org To: Jason Wang Cc: Jeff Dike , Richard Weinberger , Anton Ivanov , "Michael S. Tsirkin" , "David S. Miller" , Jakub Kicinski , Hans de Goede , Mark Gross , Vadim Pasternak , Bjorn Andersson , Mathieu Poirier , Cornelia Huck , Halil Pasic , Heiko Carstens , Vasily Gorbik , Christian Borntraeger , Alexander Gordeev , Sven Schnelle , Alexei Starovoitov , Daniel Borkmann , Jesper Dangaard Brouer , John Fastabend , Johannes Berg , Vincent Whitchurch , linux-um@lists.infradead.org, netdev@vger.kernel.org, platform-driver-x86@vger.kernel.org, linux-remoteproc@vger.kernel.org, linux-s390@vger.kernel.org, kvm@vger.kernel.org, bpf@vger.kernel.org, virtualization@lists.linux-foundation.org T24gV2VkLCAxMyBBcHIgMjAyMiAxNjowMDoxOCArMDgwMCwgSmFzb24gV2FuZyA8amFzb3dhbmdA cmVkaGF0LmNvbT4gd3JvdGU6Cj4KPiDlnKggMjAyMi80LzYg5LiK5Y2IMTE6NDMsIFh1YW4gWmh1 byDlhpnpgZM6Cj4gPiBUaGlzIHBhdGNoIGltcGxlbWVudHMgdGhlIHJlc2l6ZSBmdW5jdGlvbiBv ZiB0aGUgcngsIHR4IHF1ZXVlcy4KPiA+IEJhc2VkIG9uIHRoaXMgZnVuY3Rpb24sIGl0IGlzIHBv c3NpYmxlIHRvIG1vZGlmeSB0aGUgcmluZyBudW0gb2YgdGhlCj4gPiBxdWV1ZS4KPiA+Cj4gPiBU aGVyZSBtYXkgYmUgYW4gZXhjZXB0aW9uIGR1cmluZyB0aGUgcmVzaXplIHByb2Nlc3MsIHRoZSBy ZXNpemUgbWF5Cj4gPiBmYWlsLCBvciB0aGUgdnEgY2FuIG5vIGxvbmdlciBiZSB1c2VkLiBFaXRo ZXIgd2F5LCB3ZSBtdXN0IGV4ZWN1dGUKPiA+IG5hcGlfZW5hYmxlKCkuIEJlY2F1c2UgbmFwaV9k aXNhYmxlIGlzIHNpbWlsYXIgdG8gYSBsb2NrLCBuYXBpX2VuYWJsZQo+ID4gbXVzdCBiZSBjYWxs ZWQgYWZ0ZXIgY2FsbGluZyBuYXBpX2Rpc2FibGUuCj4gPgo+ID4gU2lnbmVkLW9mZi1ieTogWHVh biBaaHVvIDx4dWFuemh1b0BsaW51eC5hbGliYWJhLmNvbT4KPiA+IC0tLQo+ID4gICBkcml2ZXJz L25ldC92aXJ0aW9fbmV0LmMgfCA4MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCj4gPiAgIDEgZmlsZSBjaGFuZ2VkLCA4MSBpbnNlcnRpb25zKCspCj4gPgo+ID4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3ZpcnRpb19uZXQuYyBiL2RyaXZlcnMvbmV0L3ZpcnRpb19u ZXQuYwo+ID4gaW5kZXggYjhiZjAwNTI1MTc3Li5iYTY4NTlmMzA1ZjcgMTAwNjQ0Cj4gPiAtLS0g YS9kcml2ZXJzL25ldC92aXJ0aW9fbmV0LmMKPiA+ICsrKyBiL2RyaXZlcnMvbmV0L3ZpcnRpb19u ZXQuYwo+ID4gQEAgLTI1MSw2ICsyNTEsOSBAQCBzdHJ1Y3QgcGFkZGVkX3ZuZXRfaGRyIHsKPiA+ ICAgCWNoYXIgcGFkZGluZ1s0XTsKPiA+ICAgfTsKPiA+Cj4gPiArc3RhdGljIHZvaWQgdmlydG5l dF9zcV9mcmVlX3VudXNlZF9idWYoc3RydWN0IHZpcnRxdWV1ZSAqdnEsIHZvaWQgKmJ1Zik7Cj4g PiArc3RhdGljIHZvaWQgdmlydG5ldF9ycV9mcmVlX3VudXNlZF9idWYoc3RydWN0IHZpcnRxdWV1 ZSAqdnEsIHZvaWQgKmJ1Zik7Cj4gPiArCj4gPiAgIHN0YXRpYyBib29sIGlzX3hkcF9mcmFtZSh2 b2lkICpwdHIpCj4gPiAgIHsKPiA+ICAgCXJldHVybiAodW5zaWduZWQgbG9uZylwdHIgJiBWSVJU SU9fWERQX0ZMQUc7Cj4gPiBAQCAtMTM2OSw2ICsxMzcyLDE1IEBAIHN0YXRpYyB2b2lkIHZpcnRu ZXRfbmFwaV9lbmFibGUoc3RydWN0IHZpcnRxdWV1ZSAqdnEsIHN0cnVjdCBuYXBpX3N0cnVjdCAq bmFwaSkKPiA+ICAgewo+ID4gICAJbmFwaV9lbmFibGUobmFwaSk7Cj4gPgo+ID4gKwkvKiBDaGVj ayBpZiB2cSBpcyBpbiByZXNldCBzdGF0ZS4gVGhlIG5vcm1hbCByZXNldC9yZXNpemUgcHJvY2Vz cyB3aWxsCj4gPiArCSAqIGJlIHByb3RlY3RlZCBieSBuYXBpLiBIb3dldmVyLCB0aGUgcHJvdGVj dGlvbiBvZiBuYXBpIGlzIG9ubHkgZW5hYmxlZAo+ID4gKwkgKiBkdXJpbmcgdGhlIG9wZXJhdGlv biwgYW5kIHRoZSBwcm90ZWN0aW9uIG9mIG5hcGkgd2lsbCBlbmQgYWZ0ZXIgdGhlCj4gPiArCSAq IG9wZXJhdGlvbiBpcyBjb21wbGV0ZWQuIElmIHJlLWVuYWJsZSBmYWlscyBkdXJpbmcgdGhlIHBy b2Nlc3MsIHZxCj4gPiArCSAqIHdpbGwgcmVtYWluIHVuYXZhaWxhYmxlIHdpdGggcmVzZXQgc3Rh dGUuCj4gPiArCSAqLwo+ID4gKwlpZiAodnEtPnJlc2V0KQo+ID4gKwkJcmV0dXJuOwo+Cj4KPiBJ IGRvbid0IGdldCB3aGVuIGNvdWxkIHdlIGhpdCB0aGlzIGNvbmRpdGlvbi4KCgpJbiBwYXRjaCAy MywgdGhlIGNvZGUgdG8gaW1wbGVtZW50IHJlLWVuYWJsZSB2cSBpcyBhcyBmb2xsb3dzOgoKK3N0 YXRpYyBpbnQgdnBfbW9kZXJuX2VuYWJsZV9yZXNldF92cShzdHJ1Y3QgdmlydHF1ZXVlICp2cSkK K3sKKwlzdHJ1Y3QgdmlydGlvX3BjaV9kZXZpY2UgKnZwX2RldiA9IHRvX3ZwX2RldmljZSh2cS0+ dmRldik7CisJc3RydWN0IHZpcnRpb19wY2lfbW9kZXJuX2RldmljZSAqbWRldiA9ICZ2cF9kZXYt Pm1kZXY7CisJc3RydWN0IHZpcnRpb19wY2lfdnFfaW5mbyAqaW5mbzsKKwl1bnNpZ25lZCBsb25n IGZsYWdzLCBpbmRleDsKKwlpbnQgZXJyOworCisJaWYgKCF2cS0+cmVzZXQpCisJCXJldHVybiAt RUJVU1k7CisKKwlpbmRleCA9IHZxLT5pbmRleDsKKwlpbmZvID0gdnBfZGV2LT52cXNbaW5kZXhd OworCisJLyogY2hlY2sgcXVldWUgcmVzZXQgc3RhdHVzICovCisJaWYgKHZwX21vZGVybl9nZXRf cXVldWVfcmVzZXQobWRldiwgaW5kZXgpICE9IDEpCisJCXJldHVybiAtRUJVU1k7CisKKwllcnIg PSB2cF9hY3RpdmVfdnEodnEsIGluZm8tPm1zaXhfdmVjdG9yKTsKKwlpZiAoZXJyKQorCQlyZXR1 cm4gZXJyOworCisJaWYgKHZxLT5jYWxsYmFjaykgeworCQlzcGluX2xvY2tfaXJxc2F2ZSgmdnBf ZGV2LT5sb2NrLCBmbGFncyk7CisJCWxpc3RfYWRkKCZpbmZvLT5ub2RlLCAmdnBfZGV2LT52aXJ0 cXVldWVzKTsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmdnBfZGV2LT5sb2NrLCBmbGFncyk7 CisJfSBlbHNlIHsKKwkJSU5JVF9MSVNUX0hFQUQoJmluZm8tPm5vZGUpOworCX0KKworCXZwX21v ZGVybl9zZXRfcXVldWVfZW5hYmxlKCZ2cF9kZXYtPm1kZXYsIGluZGV4LCB0cnVlKTsKKworCWlm ICh2cF9kZXYtPnBlcl92cV92ZWN0b3JzICYmIGluZm8tPm1zaXhfdmVjdG9yICE9IFZJUlRJT19N U0lfTk9fVkVDVE9SKQorCQllbmFibGVfaXJxKHBjaV9pcnFfdmVjdG9yKHZwX2Rldi0+cGNpX2Rl diwgaW5mby0+bXNpeF92ZWN0b3IpKTsKKworCXZxLT5yZXNldCA9IGZhbHNlOworCisJcmV0dXJu IDA7Cit9CgoKVGhlcmUgYXJlIHRocmVlIHNpdHVhdGlvbnMgd2hlcmUgYW4gZXJyb3Igd2lsbCBi ZSByZXR1cm5lZC4gVGhlc2UgYXJlIHRoZQpzaXR1YXRpb25zIEkgd2FudCB0byBoYW5kbGUuCgpC dXQgSSdtIHJldGhpbmtpbmcgdGhlIHF1ZXN0aW9uLCBhbmQgSSBmZWVsIGxpa2UgeW91J3JlIHJp Z2h0LCBhbHRob3VnaCB0aGUKaGFyZHdhcmUgc2V0dXAgbWF5IGZhaWwuIFdlIGNhbiBubyBsb25n ZXIgc3luYyB3aXRoIHRoZSBoYXJkd2FyZS4gQnV0IHVzaW5nIGl0CmFzIGEgbm9ybWFsIHZxIGRv ZXNuJ3QgaGF2ZSBhbnkgcHJvYmxlbXMuCgo+Cj4KPiA+ICsKPiA+ICAgCS8qIElmIGFsbCBidWZm ZXJzIHdlcmUgZmlsbGVkIGJ5IG90aGVyIHNpZGUgYmVmb3JlIHdlIG5hcGlfZW5hYmxlZCwgd2UK PiA+ICAgCSAqIHdvbid0IGdldCBhbm90aGVyIGludGVycnVwdCwgc28gcHJvY2VzcyBhbnkgb3V0 c3RhbmRpbmcgcGFja2V0cyBub3cuCj4gPiAgIAkgKiBDYWxsIGxvY2FsX2JoX2VuYWJsZSBhZnRl ciB0byB0cmlnZ2VyIHNvZnRJUlEgcHJvY2Vzc2luZy4KPiA+IEBAIC0xNDEzLDYgKzE0MjUsMTUg QEAgc3RhdGljIHZvaWQgcmVmaWxsX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQo+ID4g ICAJCXN0cnVjdCByZWNlaXZlX3F1ZXVlICpycSA9ICZ2aS0+cnFbaV07Cj4gPgo+ID4gICAJCW5h cGlfZGlzYWJsZSgmcnEtPm5hcGkpOwo+ID4gKwo+ID4gKwkJLyogQ2hlY2sgaWYgdnEgaXMgaW4g cmVzZXQgc3RhdGUuIFNlZSBtb3JlIGluCj4gPiArCQkgKiB2aXJ0bmV0X25hcGlfZW5hYmxlKCkK PiA+ICsJCSAqLwo+ID4gKwkJaWYgKHJxLT52cS0+cmVzZXQpIHsKPiA+ICsJCQl2aXJ0bmV0X25h cGlfZW5hYmxlKHJxLT52cSwgJnJxLT5uYXBpKTsKPiA+ICsJCQljb250aW51ZTsKPiA+ICsJCX0K Pgo+Cj4gQ2FuIHdlIGRvIHNvbWV0aGluZyBzaW1pbGFyIGluIHZpcnRuZXRfY2xvc2UoKSBieSBj YW5jZWxpbmcgdGhlIHdvcms/CgpJIHRoaW5rIHRoZXJlIGlzIG5vIG5lZWQgdG8gY2FuY2VsIHRo ZSB3b3JrIGhlcmUsIGJlY2F1c2UgbmFwaV9kaXNhYmxlIHdpbGwgd2FpdApmb3IgdGhlIG5hcGlf ZW5hYmxlIG9mIHRoZSByZXNpemUuIFNvIGlmIHRoZSByZS1lbmFibGUgZmFpbGVkIHZxIGlzIHVz ZWQgYXMgYSBub3JtYWwKdnEsIHRoaXMgbG9naWMgY2FuIGJlIHJlbW92ZWQuCgoKPgo+Cj4gPiAr Cj4gPiAgIAkJc3RpbGxfZW1wdHkgPSAhdHJ5X2ZpbGxfcmVjdih2aSwgcnEsIEdGUF9LRVJORUwp Owo+ID4gICAJCXZpcnRuZXRfbmFwaV9lbmFibGUocnEtPnZxLCAmcnEtPm5hcGkpOwo+ID4KPiA+ IEBAIC0xNTIzLDYgKzE1NDQsMTAgQEAgc3RhdGljIHZvaWQgdmlydG5ldF9wb2xsX2NsZWFudHgo c3RydWN0IHJlY2VpdmVfcXVldWUgKnJxKQo+ID4gICAJaWYgKCFzcS0+bmFwaS53ZWlnaHQgfHwg aXNfeGRwX3Jhd19idWZmZXJfcXVldWUodmksIGluZGV4KSkKPiA+ICAgCQlyZXR1cm47Cj4gPgo+ ID4gKwkvKiBDaGVjayBpZiB2cSBpcyBpbiByZXNldCBzdGF0ZS4gU2VlIG1vcmUgaW4gdmlydG5l dF9uYXBpX2VuYWJsZSgpICovCj4gPiArCWlmIChzcS0+dnEtPnJlc2V0KQo+ID4gKwkJcmV0dXJu Owo+Cj4KPiBXZSd2ZSBkaXNhYmxlZCBUWCBuYXBpLCBhbnkgY2hhbmNlIHdlIGNhbiBzdGlsbCBo aXQgdGhpcz8KClNhbWUgYXMgYWJvdmUuCgo+Cj4KPiA+ICsKPiA+ICAgCWlmIChfX25ldGlmX3R4 X3RyeWxvY2sodHhxKSkgewo+ID4gICAJCWRvIHsKPiA+ICAgCQkJdmlydHF1ZXVlX2Rpc2FibGVf Y2Ioc3EtPnZxKTsKPiA+IEBAIC0xNzY5LDYgKzE3OTQsNjIgQEAgc3RhdGljIG5ldGRldl90eF90 IHN0YXJ0X3htaXQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5ldF9kZXZpY2UgKmRldikK PiA+ICAgCXJldHVybiBORVRERVZfVFhfT0s7Cj4gPiAgIH0KPiA+Cj4gPiArc3RhdGljIGludCB2 aXJ0bmV0X3J4X3Jlc2l6ZShzdHJ1Y3QgdmlydG5ldF9pbmZvICp2aSwKPiA+ICsJCQkgICAgIHN0 cnVjdCByZWNlaXZlX3F1ZXVlICpycSwgdTMyIHJpbmdfbnVtKQo+ID4gK3sKPiA+ICsJaW50IGVy cjsKPiA+ICsKPiA+ICsJbmFwaV9kaXNhYmxlKCZycS0+bmFwaSk7Cj4gPiArCj4gPiArCWVyciA9 IHZpcnRxdWV1ZV9yZXNpemUocnEtPnZxLCByaW5nX251bSwgdmlydG5ldF9ycV9mcmVlX3VudXNl ZF9idWYpOwo+ID4gKwlpZiAoZXJyKQo+ID4gKwkJZ290byBlcnI7Cj4gPiArCj4gPiArCWlmICgh dHJ5X2ZpbGxfcmVjdih2aSwgcnEsIEdGUF9LRVJORUwpKQo+ID4gKwkJc2NoZWR1bGVfZGVsYXll ZF93b3JrKCZ2aS0+cmVmaWxsLCAwKTsKPiA+ICsKPiA+ICsJdmlydG5ldF9uYXBpX2VuYWJsZShy cS0+dnEsICZycS0+bmFwaSk7Cj4gPiArCXJldHVybiAwOwo+ID4gKwo+ID4gK2VycjoKPiA+ICsJ bmV0ZGV2X2Vycih2aS0+ZGV2LAo+ID4gKwkJICAgInJlc2V0IHJ4IHJlc2V0IHZxIGZhaWw6IHJ4 IHF1ZXVlIGluZGV4OiAldGQgZXJyOiAlZFxuIiwKPiA+ICsJCSAgIHJxIC0gdmktPnJxLCBlcnIp Owo+ID4gKwl2aXJ0bmV0X25hcGlfZW5hYmxlKHJxLT52cSwgJnJxLT5uYXBpKTsKPiA+ICsJcmV0 dXJuIGVycjsKPiA+ICt9Cj4gPiArCj4gPiArc3RhdGljIGludCB2aXJ0bmV0X3R4X3Jlc2l6ZShz dHJ1Y3QgdmlydG5ldF9pbmZvICp2aSwKPiA+ICsJCQkgICAgIHN0cnVjdCBzZW5kX3F1ZXVlICpz cSwgdTMyIHJpbmdfbnVtKQo+ID4gK3sKPiA+ICsJc3RydWN0IG5ldGRldl9xdWV1ZSAqdHhxOwo+ ID4gKwlpbnQgZXJyLCBxaW5kZXg7Cj4gPiArCj4gPiArCXFpbmRleCA9IHNxIC0gdmktPnNxOwo+ ID4gKwo+ID4gKwl2aXJ0bmV0X25hcGlfdHhfZGlzYWJsZSgmc3EtPm5hcGkpOwo+ID4gKwo+ID4g Kwl0eHEgPSBuZXRkZXZfZ2V0X3R4X3F1ZXVlKHZpLT5kZXYsIHFpbmRleCk7Cj4gPiArCV9fbmV0 aWZfdHhfbG9ja19iaCh0eHEpOwo+ID4gKwluZXRpZl9zdG9wX3N1YnF1ZXVlKHZpLT5kZXYsIHFp bmRleCk7Cj4gPiArCV9fbmV0aWZfdHhfdW5sb2NrX2JoKHR4cSk7Cj4gPiArCj4gPiArCWVyciA9 IHZpcnRxdWV1ZV9yZXNpemUoc3EtPnZxLCByaW5nX251bSwgdmlydG5ldF9zcV9mcmVlX3VudXNl ZF9idWYpOwo+ID4gKwlpZiAoZXJyKQo+ID4gKwkJZ290byBlcnI7Cj4gPiArCj4gPiArCW5ldGlm X3N0YXJ0X3N1YnF1ZXVlKHZpLT5kZXYsIHFpbmRleCk7Cj4gPiArCXZpcnRuZXRfbmFwaV90eF9l bmFibGUodmksIHNxLT52cSwgJnNxLT5uYXBpKTsKPiA+ICsJcmV0dXJuIDA7Cj4gPiArCj4gPiAr ZXJyOgo+Cj4KPiBJIGd1ZXNzIHdlIGNhbiBzdGlsbCBzdGFydCB0aGUgcXVldWUgaW4gdGhpcyBj YXNlPyAoU2luY2Ugd2UgZG9uJ3QKPiBjaGFuZ2UgdGhlIHF1ZXVlIGlmIHJlc2l6ZSBmYWlscyku CgpZZXMsIHlvdSBhcmUgcmlnaHQuCgpUaGFua3MuCgo+Cj4KPiA+ICsJbmV0ZGV2X2Vycih2aS0+ ZGV2LAo+ID4gKwkJICAgInJlc2V0IHR4IHJlc2V0IHZxIGZhaWw6IHR4IHF1ZXVlIGluZGV4OiAl dGQgZXJyOiAlZFxuIiwKPiA+ICsJCSAgIHNxIC0gdmktPnNxLCBlcnIpOwo+ID4gKwl2aXJ0bmV0 X25hcGlfdHhfZW5hYmxlKHZpLCBzcS0+dnEsICZzcS0+bmFwaSk7Cj4gPiArCXJldHVybiBlcnI7 Cj4gPiArfQo+ID4gKwo+ID4gICAvKgo+ID4gICAgKiBTZW5kIGNvbW1hbmQgdmlhIHRoZSBjb250 cm9sIHZpcnRxdWV1ZSBhbmQgY2hlY2sgc3RhdHVzLiAgQ29tbWFuZHMKPiA+ICAgICogc3VwcG9y dGVkIGJ5IHRoZSBoeXBlcnZpc29yLCBhcyBpbmRpY2F0ZWQgYnkgZmVhdHVyZSBiaXRzLCBzaG91 bGQKPgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGlu dXgtdW0gbWFpbGluZyBsaXN0CmxpbnV4LXVtQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xp c3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC11bQo=