From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nRqsw-007chg-Bs for linux-um@lists.infradead.org; Wed, 09 Mar 2022 07:37:28 +0000 Received: by mail-pl1-f199.google.com with SMTP id l6-20020a170903120600b0014f43ba55f3so738858plh.11 for ; Tue, 08 Mar 2022 23:37:19 -0800 (PST) Message-ID: <85dde6ed-cdf1-61e4-6f05-d3e2477b9e35@redhat.com> Date: Wed, 9 Mar 2022 15:36:59 +0800 MIME-Version: 1.0 Subject: Re: [PATCH v7 05/26] virtio_ring: split: extract the logic of init vq and attach vring References: <20220308123518.33800-1-xuanzhuo@linux.alibaba.com> <20220308123518.33800-6-xuanzhuo@linux.alibaba.com> From: Jason Wang In-Reply-To: <20220308123518.33800-6-xuanzhuo@linux.alibaba.com> Content-Language: en-US List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-um" Errors-To: linux-um-bounces+geert=linux-m68k.org@lists.infradead.org To: Xuan Zhuo , virtualization@lists.linux-foundation.org, netdev@vger.kernel.org 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, platform-driver-x86@vger.kernel.org, linux-remoteproc@vger.kernel.org, linux-s390@vger.kernel.org, kvm@vger.kernel.org, bpf@vger.kernel.org CuWcqCAyMDIyLzMvOCDkuIvljYg4OjM0LCBYdWFuIFpodW8g5YaZ6YGTOgo+IFNwbGl0IHRoZSBs b2dpYyBvZiBzcGxpdCBhc3NpZ25tZW50IHZxIGludG8gdGhyZWUgcGFydHMuCj4KPiAxLiBUaGUg YXNzaWdubWVudCBwYXNzZWQgZnJvbSB0aGUgZnVuY3Rpb24gcGFyYW1ldGVyCj4gMi4gVGhlIHBh cnQgdGhhdCBhdHRhY2hlcyB2cmluZyB0byB2cS4gLS0gX192cmluZ192aXJ0cXVldWVfYXR0YWNo X3NwbGl0KCkKPiAzLiBUaGUgcGFydCB0aGF0IGluaXRpYWxpemVzIHZxIHRvIGEgZml4ZWQgdmFs dWUgLS0KPiAgICAgX192cmluZ192aXJ0cXVldWVfaW5pdF9zcGxpdCgpCj4KPiBUaGlzIGZlYXR1 cmUgaXMgcmVxdWlyZWQgZm9yIHN1YnNlcXVlbnQgdmlydHVxdWV1ZSByZXNldCB2cmluZwo+Cj4g U2lnbmVkLW9mZi1ieTogWHVhbiBaaHVvIDx4dWFuemh1b0BsaW51eC5hbGliYWJhLmNvbT4KPiAt LS0KPiAgIGRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMgfCAxMTEgKysrKysrKysrKysrKysr KysrKysrLS0tLS0tLS0tLS0tLS0KPiAgIDEgZmlsZSBjaGFuZ2VkLCA2NyBpbnNlcnRpb25zKCsp LCA0NCBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpcnRpby92aXJ0aW9f cmluZy5jIGIvZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYwo+IGluZGV4IGQzMjc5MzYxNTQ1 MS4uZGM2MzEzYjc5MzA1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5n LmMKPiArKysgYi9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jCj4gQEAgLTIxOTYsMzQgKzIx OTYsNDAgQEAgaXJxcmV0dXJuX3QgdnJpbmdfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKl92cSkK PiAgIH0KPiAgIEVYUE9SVF9TWU1CT0xfR1BMKHZyaW5nX2ludGVycnVwdCk7Cj4gICAKPiAtLyog T25seSBhdmFpbGFibGUgZm9yIHNwbGl0IHJpbmcgKi8KPiAtc3RydWN0IHZpcnRxdWV1ZSAqX192 cmluZ19uZXdfdmlydHF1ZXVlKHVuc2lnbmVkIGludCBpbmRleCwKPiAtCQkJCQlzdHJ1Y3QgdnJp bmcgdnJpbmcsCj4gLQkJCQkJc3RydWN0IHZpcnRpb19kZXZpY2UgKnZkZXYsCj4gLQkJCQkJYm9v bCB3ZWFrX2JhcnJpZXJzLAo+IC0JCQkJCWJvb2wgY29udGV4dCwKPiAtCQkJCQlib29sICgqbm90 aWZ5KShzdHJ1Y3QgdmlydHF1ZXVlICopLAo+IC0JCQkJCXZvaWQgKCpjYWxsYmFjaykoc3RydWN0 IHZpcnRxdWV1ZSAqKSwKPiAtCQkJCQljb25zdCBjaGFyICpuYW1lKQo+ICtzdGF0aWMgaW50IF9f dnJpbmdfdmlydHF1ZXVlX2F0dGFjaF9zcGxpdChzdHJ1Y3QgdnJpbmdfdmlydHF1ZXVlICp2cSwK PiArCQkJCQkgIHN0cnVjdCB2aXJ0aW9fZGV2aWNlICp2ZGV2LAo+ICsJCQkJCSAgc3RydWN0IHZy aW5nIHZyaW5nKQo+ICAgewo+IC0Jc3RydWN0IHZyaW5nX3ZpcnRxdWV1ZSAqdnE7Cj4gKwl2cS0+ dnEubnVtX2ZyZWUgPSB2cmluZy5udW07Cj4gICAKPiAtCWlmICh2aXJ0aW9faGFzX2ZlYXR1cmUo dmRldiwgVklSVElPX0ZfUklOR19QQUNLRUQpKQo+IC0JCXJldHVybiBOVUxMOwo+ICsJdnEtPnNw bGl0LnZyaW5nID0gdnJpbmc7Cj4gKwl2cS0+c3BsaXQucXVldWVfZG1hX2FkZHIgPSAwOwo+ICsJ dnEtPnNwbGl0LnF1ZXVlX3NpemVfaW5fYnl0ZXMgPSAwOwo+ICAgCj4gLQl2cSA9IGttYWxsb2Mo c2l6ZW9mKCp2cSksIEdGUF9LRVJORUwpOwo+IC0JaWYgKCF2cSkKPiAtCQlyZXR1cm4gTlVMTDsK PiArCXZxLT5zcGxpdC5kZXNjX3N0YXRlID0ga21hbGxvY19hcnJheSh2cmluZy5udW0sCj4gKwkJ CQkJICAgICBzaXplb2Yoc3RydWN0IHZyaW5nX2Rlc2Nfc3RhdGVfc3BsaXQpLCBHRlBfS0VSTkVM KTsKPiArCWlmICghdnEtPnNwbGl0LmRlc2Nfc3RhdGUpCj4gKwkJZ290byBlcnJfc3RhdGU7Cj4g ICAKPiArCXZxLT5zcGxpdC5kZXNjX2V4dHJhID0gdnJpbmdfYWxsb2NfZGVzY19leHRyYSh2cSwg dnJpbmcubnVtKTsKPiArCWlmICghdnEtPnNwbGl0LmRlc2NfZXh0cmEpCj4gKwkJZ290byBlcnJf ZXh0cmE7CgoKU28gdGhpcyBjb250YWlucyBzdHVmZnMgbW9yZSB0aGFuIGp1c3QgYXR0YWNoLiBJ IHdvbmRlciBpZiBpdCdzIGJldHRlciAKdG8gc3BsaXQgdGhlIGFsbG9jYXRpb24gb3V0IHRvIGFu IGRlZGljYXRlZCBoZWxwZXIgKHdlIGhhdmUgZGVkaWNhdGVkIApoZWxwZXIgdG8gYWxsb2NhdGUg dnJpbmcpLgoKVGhhbmtzCgoKPiArCj4gKwltZW1zZXQodnEtPnNwbGl0LmRlc2Nfc3RhdGUsIDAs IHZyaW5nLm51bSAqCj4gKwkgICAgICAgc2l6ZW9mKHN0cnVjdCB2cmluZ19kZXNjX3N0YXRlX3Nw bGl0KSk7Cj4gKwlyZXR1cm4gMDsKPiArCj4gK2Vycl9leHRyYToKPiArCWtmcmVlKHZxLT5zcGxp dC5kZXNjX3N0YXRlKTsKPiArZXJyX3N0YXRlOgo+ICsJcmV0dXJuIC1FTk9NRU07Cj4gK30KPiAr Cj4gK3N0YXRpYyB2b2lkIF9fdnJpbmdfdmlydHF1ZXVlX2luaXRfc3BsaXQoc3RydWN0IHZyaW5n X3ZpcnRxdWV1ZSAqdnEsCj4gKwkJCQkJIHN0cnVjdCB2aXJ0aW9fZGV2aWNlICp2ZGV2KQo+ICt7 Cj4gICAJdnEtPnBhY2tlZF9yaW5nID0gZmFsc2U7Cj4gLQl2cS0+dnEuY2FsbGJhY2sgPSBjYWxs YmFjazsKPiAtCXZxLT52cS52ZGV2ID0gdmRldjsKPiAtCXZxLT52cS5uYW1lID0gbmFtZTsKPiAt CXZxLT52cS5udW1fZnJlZSA9IHZyaW5nLm51bTsKPiAtCXZxLT52cS5pbmRleCA9IGluZGV4Owo+ ICAgCXZxLT53ZV9vd25fcmluZyA9IGZhbHNlOwo+IC0JdnEtPm5vdGlmeSA9IG5vdGlmeTsKPiAt CXZxLT53ZWFrX2JhcnJpZXJzID0gd2Vha19iYXJyaWVyczsKPiAgIAl2cS0+YnJva2VuID0gZmFs c2U7Cj4gICAJdnEtPmxhc3RfdXNlZF9pZHggPSAwOwo+ICAgCXZxLT5ldmVudF90cmlnZ2VyZWQg PSBmYWxzZTsKPiBAQCAtMjIzNCw1MCArMjI0MCw2NyBAQCBzdHJ1Y3QgdmlydHF1ZXVlICpfX3Zy aW5nX25ld192aXJ0cXVldWUodW5zaWduZWQgaW50IGluZGV4LAo+ICAgCXZxLT5sYXN0X2FkZF90 aW1lX3ZhbGlkID0gZmFsc2U7Cj4gICAjZW5kaWYKPiAgIAo+IC0JdnEtPmluZGlyZWN0ID0gdmly dGlvX2hhc19mZWF0dXJlKHZkZXYsIFZJUlRJT19SSU5HX0ZfSU5ESVJFQ1RfREVTQykgJiYKPiAt CQkhY29udGV4dDsKPiAgIAl2cS0+ZXZlbnQgPSB2aXJ0aW9faGFzX2ZlYXR1cmUodmRldiwgVklS VElPX1JJTkdfRl9FVkVOVF9JRFgpOwo+ICAgCj4gICAJaWYgKHZpcnRpb19oYXNfZmVhdHVyZSh2 ZGV2LCBWSVJUSU9fRl9PUkRFUl9QTEFURk9STSkpCj4gICAJCXZxLT53ZWFrX2JhcnJpZXJzID0g ZmFsc2U7Cj4gICAKPiAtCXZxLT5zcGxpdC5xdWV1ZV9kbWFfYWRkciA9IDA7Cj4gLQl2cS0+c3Bs aXQucXVldWVfc2l6ZV9pbl9ieXRlcyA9IDA7Cj4gLQo+IC0JdnEtPnNwbGl0LnZyaW5nID0gdnJp bmc7Cj4gICAJdnEtPnNwbGl0LmF2YWlsX2ZsYWdzX3NoYWRvdyA9IDA7Cj4gICAJdnEtPnNwbGl0 LmF2YWlsX2lkeF9zaGFkb3cgPSAwOwo+ICAgCj4gICAJLyogTm8gY2FsbGJhY2s/ICBUZWxsIG90 aGVyIHNpZGUgbm90IHRvIGJvdGhlciB1cy4gKi8KPiAtCWlmICghY2FsbGJhY2spIHsKPiArCWlm ICghdnEtPnZxLmNhbGxiYWNrKSB7Cj4gICAJCXZxLT5zcGxpdC5hdmFpbF9mbGFnc19zaGFkb3cg fD0gVlJJTkdfQVZBSUxfRl9OT19JTlRFUlJVUFQ7Cj4gICAJCWlmICghdnEtPmV2ZW50KQo+ICAg CQkJdnEtPnNwbGl0LnZyaW5nLmF2YWlsLT5mbGFncyA9IGNwdV90b192aXJ0aW8xNih2ZGV2LAo+ ICAgCQkJCQl2cS0+c3BsaXQuYXZhaWxfZmxhZ3Nfc2hhZG93KTsKPiAgIAl9Cj4gICAKPiAtCXZx LT5zcGxpdC5kZXNjX3N0YXRlID0ga21hbGxvY19hcnJheSh2cmluZy5udW0sCj4gLQkJCXNpemVv ZihzdHJ1Y3QgdnJpbmdfZGVzY19zdGF0ZV9zcGxpdCksIEdGUF9LRVJORUwpOwo+IC0JaWYgKCF2 cS0+c3BsaXQuZGVzY19zdGF0ZSkKPiAtCQlnb3RvIGVycl9zdGF0ZTsKPiAtCj4gLQl2cS0+c3Bs aXQuZGVzY19leHRyYSA9IHZyaW5nX2FsbG9jX2Rlc2NfZXh0cmEodnEsIHZyaW5nLm51bSk7Cj4g LQlpZiAoIXZxLT5zcGxpdC5kZXNjX2V4dHJhKQo+IC0JCWdvdG8gZXJyX2V4dHJhOwo+IC0KPiAg IAkvKiBQdXQgZXZlcnl0aGluZyBpbiBmcmVlIGxpc3RzLiAqLwo+ICAgCXZxLT5mcmVlX2hlYWQg PSAwOwo+IC0JbWVtc2V0KHZxLT5zcGxpdC5kZXNjX3N0YXRlLCAwLCB2cmluZy5udW0gKgo+IC0J CQlzaXplb2Yoc3RydWN0IHZyaW5nX2Rlc2Nfc3RhdGVfc3BsaXQpKTsKPiArfQo+ICsKPiArLyog T25seSBhdmFpbGFibGUgZm9yIHNwbGl0IHJpbmcgKi8KPiArc3RydWN0IHZpcnRxdWV1ZSAqX192 cmluZ19uZXdfdmlydHF1ZXVlKHVuc2lnbmVkIGludCBpbmRleCwKPiArCQkJCQlzdHJ1Y3QgdnJp bmcgdnJpbmcsCj4gKwkJCQkJc3RydWN0IHZpcnRpb19kZXZpY2UgKnZkZXYsCj4gKwkJCQkJYm9v bCB3ZWFrX2JhcnJpZXJzLAo+ICsJCQkJCWJvb2wgY29udGV4dCwKPiArCQkJCQlib29sICgqbm90 aWZ5KShzdHJ1Y3QgdmlydHF1ZXVlICopLAo+ICsJCQkJCXZvaWQgKCpjYWxsYmFjaykoc3RydWN0 IHZpcnRxdWV1ZSAqKSwKPiArCQkJCQljb25zdCBjaGFyICpuYW1lKQo+ICt7Cj4gKwlzdHJ1Y3Qg dnJpbmdfdmlydHF1ZXVlICp2cTsKPiArCWludCBlcnI7Cj4gKwo+ICsJaWYgKHZpcnRpb19oYXNf ZmVhdHVyZSh2ZGV2LCBWSVJUSU9fRl9SSU5HX1BBQ0tFRCkpCj4gKwkJcmV0dXJuIE5VTEw7Cj4g Kwo+ICsJdnEgPSBrbWFsbG9jKHNpemVvZigqdnEpLCBHRlBfS0VSTkVMKTsKPiArCWlmICghdnEp Cj4gKwkJcmV0dXJuIE5VTEw7Cj4gKwo+ICsJdnEtPnZxLmNhbGxiYWNrID0gY2FsbGJhY2s7Cj4g Kwl2cS0+dnEudmRldiA9IHZkZXY7Cj4gKwl2cS0+dnEubmFtZSA9IG5hbWU7Cj4gKwl2cS0+dnEu aW5kZXggPSBpbmRleDsKPiArCXZxLT5ub3RpZnkgPSBub3RpZnk7Cj4gKwl2cS0+d2Vha19iYXJy aWVycyA9IHdlYWtfYmFycmllcnM7Cj4gKwl2cS0+aW5kaXJlY3QgPSB2aXJ0aW9faGFzX2ZlYXR1 cmUodmRldiwgVklSVElPX1JJTkdfRl9JTkRJUkVDVF9ERVNDKSAmJgo+ICsJCSFjb250ZXh0Owo+ ICsKPiArCWVyciA9IF9fdnJpbmdfdmlydHF1ZXVlX2F0dGFjaF9zcGxpdCh2cSwgdmRldiwgdnJp bmcpOwo+ICsJaWYgKGVycikKPiArCQlnb3RvIGVycjsKPiArCj4gKwlfX3ZyaW5nX3ZpcnRxdWV1 ZV9pbml0X3NwbGl0KHZxLCB2ZGV2KTsKPiAgIAo+ICAgCXNwaW5fbG9jaygmdmRldi0+dnFzX2xp c3RfbG9jayk7Cj4gICAJbGlzdF9hZGRfdGFpbCgmdnEtPnZxLmxpc3QsICZ2ZGV2LT52cXMpOwo+ ICAgCXNwaW5fdW5sb2NrKCZ2ZGV2LT52cXNfbGlzdF9sb2NrKTsKPiAtCXJldHVybiAmdnEtPnZx Owo+ICAgCj4gLWVycl9leHRyYToKPiAtCWtmcmVlKHZxLT5zcGxpdC5kZXNjX3N0YXRlKTsKPiAt ZXJyX3N0YXRlOgo+ICsJcmV0dXJuICZ2cS0+dnE7Cj4gK2VycjoKPiAgIAlrZnJlZSh2cSk7Cj4g ICAJcmV0dXJuIE5VTEw7Cj4gICB9CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KbGludXgtdW0gbWFpbGluZyBsaXN0CmxpbnV4LXVtQGxpc3RzLmluZnJh ZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51 eC11bQo=