From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jason Wang Subject: Re: [RFC v3 4/5] virtio_ring: add event idx support in packed ring Date: Wed, 16 May 2018 13:01:04 +0800 Message-ID: <915efeaa-4e47-9004-a722-54b0c40ebcbb__40269.8742495433$1526446755$gmane$org@redhat.com> References: <20180425051550.24342-1-tiwei.bie@intel.com> <20180425051550.24342-5-tiwei.bie@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180425051550.24342-5-tiwei.bie@intel.com> Content-Language: en-US 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: Tiwei Bie , mst@redhat.com, virtualization@lists.linux-foundation.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org Cc: wexu@redhat.com List-Id: virtualization@lists.linuxfoundation.org CgpPbiAyMDE45bm0MDTmnIgyNeaXpSAxMzoxNSwgVGl3ZWkgQmllIHdyb3RlOgo+IFRoaXMgY29t bWl0IGludHJvZHVjZXMgdGhlIGV2ZW50IGlkeCBzdXBwb3J0IGluIHBhY2tlZAo+IHJpbmcuIFRo aXMgZmVhdHVyZSBpcyB0ZW1wb3JhcmlseSBkaXNhYmxlZCwgYmVjYXVzZSB0aGUKPiBpbXBsZW1l bnRhdGlvbiBpbiB0aGlzIHBhdGNoIG1heSBub3Qgd29yayBhcyBleHBlY3RlZCwKPiBhbmQgc29t ZSBmdXJ0aGVyIGRpc2N1c3Npb25zIG9uIHRoZSBpbXBsZW1lbnRhdGlvbiBhcmUKPiBuZWVkZWQs IGUuZy4gZG8gd2UgaGF2ZSB0byBjaGVjayB0aGUgd3JhcCBjb3VudGVyIHdoZW4KPiBjaGVja2lu ZyB3aGV0aGVyIGEga2ljayBpcyBuZWVkZWQ/Cj4KPiBTaWduZWQtb2ZmLWJ5OiBUaXdlaSBCaWUg PHRpd2VpLmJpZUBpbnRlbC5jb20+Cj4gLS0tCj4gICBkcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmlu Zy5jIHwgNTMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KPiAg IDEgZmlsZSBjaGFuZ2VkLCA0OSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQo+Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMgYi9kcml2ZXJzL3ZpcnRpby92 aXJ0aW9fcmluZy5jCj4gaW5kZXggMDE4MWU5Mzg5N2JlLi5iMTAzOWMyOTg1YjkgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYwo+ICsrKyBiL2RyaXZlcnMvdmlydGlv L3ZpcnRpb19yaW5nLmMKPiBAQCAtOTg2LDcgKzk4Niw3IEBAIHN0YXRpYyBpbmxpbmUgaW50IHZp cnRxdWV1ZV9hZGRfcGFja2VkKHN0cnVjdCB2aXJ0cXVldWUgKl92cSwKPiAgIHN0YXRpYyBib29s IHZpcnRxdWV1ZV9raWNrX3ByZXBhcmVfcGFja2VkKHN0cnVjdCB2aXJ0cXVldWUgKl92cSkKPiAg IHsKPiAgIAlzdHJ1Y3QgdnJpbmdfdmlydHF1ZXVlICp2cSA9IHRvX3Z2cShfdnEpOwo+IC0JdTE2 IGZsYWdzOwo+ICsJdTE2IG5ldywgb2xkLCBvZmZfd3JhcCwgZmxhZ3M7Cj4gICAJYm9vbCBuZWVk c19raWNrOwo+ICAgCXUzMiBzbmFwc2hvdDsKPiAgIAo+IEBAIC05OTUsNyArOTk1LDEyIEBAIHN0 YXRpYyBib29sIHZpcnRxdWV1ZV9raWNrX3ByZXBhcmVfcGFja2VkKHN0cnVjdCB2aXJ0cXVldWUg Kl92cSkKPiAgIAkgKiBzdXBwcmVzc2lvbnMuICovCj4gICAJdmlydGlvX21iKHZxLT53ZWFrX2Jh cnJpZXJzKTsKPiAgIAo+ICsJb2xkID0gdnEtPm5leHRfYXZhaWxfaWR4IC0gdnEtPm51bV9hZGRl ZDsKPiArCW5ldyA9IHZxLT5uZXh0X2F2YWlsX2lkeDsKPiArCXZxLT5udW1fYWRkZWQgPSAwOwo+ ICsKPiAgIAlzbmFwc2hvdCA9ICoodTMyICopdnEtPnZyaW5nX3BhY2tlZC5kZXZpY2U7Cj4gKwlv ZmZfd3JhcCA9IHZpcnRpbzE2X3RvX2NwdShfdnEtPnZkZXYsIHNuYXBzaG90ICYgMHhmZmZmKTsK PiAgIAlmbGFncyA9IGNwdV90b192aXJ0aW8xNihfdnEtPnZkZXYsIHNuYXBzaG90ID4+IDE2KSAm IDB4MzsKPiAgIAo+ICAgI2lmZGVmIERFQlVHCj4gQEAgLTEwMDYsNyArMTAxMSwxMCBAQCBzdGF0 aWMgYm9vbCB2aXJ0cXVldWVfa2lja19wcmVwYXJlX3BhY2tlZChzdHJ1Y3QgdmlydHF1ZXVlICpf dnEpCj4gICAJdnEtPmxhc3RfYWRkX3RpbWVfdmFsaWQgPSBmYWxzZTsKPiAgICNlbmRpZgo+ICAg Cj4gLQluZWVkc19raWNrID0gKGZsYWdzICE9IFZSSU5HX0VWRU5UX0ZfRElTQUJMRSk7Cj4gKwlp ZiAoZmxhZ3MgPT0gVlJJTkdfRVZFTlRfRl9ERVNDKQo+ICsJCW5lZWRzX2tpY2sgPSB2cmluZ19u ZWVkX2V2ZW50KG9mZl93cmFwICYgfigxPDwxNSksIG5ldywgb2xkKTsKPiArCWVsc2UKPiArCQlu ZWVkc19raWNrID0gKGZsYWdzICE9IFZSSU5HX0VWRU5UX0ZfRElTQUJMRSk7Cj4gICAJRU5EX1VT RSh2cSk7Cj4gICAJcmV0dXJuIG5lZWRzX2tpY2s7Cj4gICB9Cj4gQEAgLTExMTYsNiArMTEyNCwx NSBAQCBzdGF0aWMgdm9pZCAqdmlydHF1ZXVlX2dldF9idWZfY3R4X3BhY2tlZChzdHJ1Y3Qgdmly dHF1ZXVlICpfdnEsCj4gICAJaWYgKHZxLT5sYXN0X3VzZWRfaWR4ID49IHZxLT52cmluZ19wYWNr ZWQubnVtKQo+ICAgCQl2cS0+bGFzdF91c2VkX2lkeCAtPSB2cS0+dnJpbmdfcGFja2VkLm51bTsK PiAgIAo+ICsJLyogSWYgd2UgZXhwZWN0IGFuIGludGVycnVwdCBmb3IgdGhlIG5leHQgZW50cnks IHRlbGwgaG9zdAo+ICsJICogYnkgd3JpdGluZyBldmVudCBpbmRleCBhbmQgZmx1c2ggb3V0IHRo ZSB3cml0ZSBiZWZvcmUKPiArCSAqIHRoZSByZWFkIGluIHRoZSBuZXh0IGdldF9idWYgY2FsbC4g Ki8KPiArCWlmICh2cS0+ZXZlbnRfZmxhZ3Nfc2hhZG93ID09IFZSSU5HX0VWRU5UX0ZfREVTQykK PiArCQl2aXJ0aW9fc3RvcmVfbWIodnEtPndlYWtfYmFycmllcnMsCj4gKwkJCQkmdnEtPnZyaW5n X3BhY2tlZC5kcml2ZXItPm9mZl93cmFwLAo+ICsJCQkJY3B1X3RvX3ZpcnRpbzE2KF92cS0+dmRl diwgdnEtPmxhc3RfdXNlZF9pZHggfAo+ICsJCQkJCQkodnEtPndyYXBfY291bnRlciA8PCAxNSkp KTsKPiArCj4gICAjaWZkZWYgREVCVUcKPiAgIAl2cS0+bGFzdF9hZGRfdGltZV92YWxpZCA9IGZh bHNlOwo+ICAgI2VuZGlmCj4gQEAgLTExNDMsMTAgKzExNjAsMTcgQEAgc3RhdGljIHVuc2lnbmVk IHZpcnRxdWV1ZV9lbmFibGVfY2JfcHJlcGFyZV9wYWNrZWQoc3RydWN0IHZpcnRxdWV1ZSAqX3Zx KQo+ICAgCj4gICAJLyogV2Ugb3B0aW1pc3RpY2FsbHkgdHVybiBiYWNrIG9uIGludGVycnVwdHMs IHRoZW4gY2hlY2sgaWYgdGhlcmUgd2FzCj4gICAJICogbW9yZSB0byBkby4gKi8KPiArCS8qIERl cGVuZGluZyBvbiB0aGUgVklSVElPX1JJTkdfRl9VU0VEX0VWRU5UX0lEWCBmZWF0dXJlLCB3ZSBu ZWVkIHRvCj4gKwkgKiBlaXRoZXIgY2xlYXIgdGhlIGZsYWdzIGJpdCBvciBwb2ludCB0aGUgZXZl bnQgaW5kZXggYXQgdGhlIG5leHQKPiArCSAqIGVudHJ5LiBBbHdheXMgdXBkYXRlIHRoZSBldmVu dCBpbmRleCB0byBrZWVwIGNvZGUgc2ltcGxlLiAqLwo+ICsKPiArCXZxLT52cmluZ19wYWNrZWQu ZHJpdmVyLT5vZmZfd3JhcCA9IGNwdV90b192aXJ0aW8xNihfdnEtPnZkZXYsCj4gKwkJCXZxLT5s YXN0X3VzZWRfaWR4IHwgKHZxLT53cmFwX2NvdW50ZXIgPDwgMTUpKTsKCgpVc2luZyB2cS0+d3Jh cF9jb3VudGVyIHNlZW1zIG5vdCBjb3JyZWN0LCB3aGF0IHdlIG5lZWQgaXMgdGhlIHdhcnAgCmNv dW50ZXIgZm9yIHRoZSBsYXN0X3VzZWRfaWR4IG5vdCBuZXh0X2F2YWlsX2lkeC4KCkFuZCBJIHRo aW5rIHRoZXJlJ3MgZXZlbiBubyBuZWVkIHRvIGJvdGhlciB3aXRoIGV2ZW50IGlkeCBoZXJlLCBo b3cgCmFib3V0IGp1c3Qgc2V0IFZSSU5HX0VWRU5UX0ZfRU5BQkxFPwoKPiAgIAo+ICAgCWlmICh2 cS0+ZXZlbnRfZmxhZ3Nfc2hhZG93ID09IFZSSU5HX0VWRU5UX0ZfRElTQUJMRSkgewo+ICAgCQl2 aXJ0aW9fd21iKHZxLT53ZWFrX2JhcnJpZXJzKTsKPiAtCQl2cS0+ZXZlbnRfZmxhZ3Nfc2hhZG93 ID0gVlJJTkdfRVZFTlRfRl9FTkFCTEU7Cj4gKwkJdnEtPmV2ZW50X2ZsYWdzX3NoYWRvdyA9IHZx LT5ldmVudCA/IFZSSU5HX0VWRU5UX0ZfREVTQyA6Cj4gKwkJCQkJCSAgICAgVlJJTkdfRVZFTlRf Rl9FTkFCTEU7Cj4gICAJCXZxLT52cmluZ19wYWNrZWQuZHJpdmVyLT5mbGFncyA9IGNwdV90b192 aXJ0aW8xNihfdnEtPnZkZXYsCj4gICAJCQkJCQkJdnEtPmV2ZW50X2ZsYWdzX3NoYWRvdyk7Cj4g ICAJfQo+IEBAIC0xMTcyLDE1ICsxMTk2LDM0IEBAIHN0YXRpYyBib29sIHZpcnRxdWV1ZV9wb2xs X3BhY2tlZChzdHJ1Y3QgdmlydHF1ZXVlICpfdnEsIHVuc2lnbmVkIGxhc3RfdXNlZF9pZHgpCj4g ICBzdGF0aWMgYm9vbCB2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWRfcGFja2VkKHN0cnVjdCB2 aXJ0cXVldWUgKl92cSkKPiAgIHsKPiAgIAlzdHJ1Y3QgdnJpbmdfdmlydHF1ZXVlICp2cSA9IHRv X3Z2cShfdnEpOwo+ICsJdTE2IGJ1ZnMsIHVzZWRfaWR4LCB3cmFwX2NvdW50ZXI7Cj4gICAKPiAg IAlTVEFSVF9VU0UodnEpOwo+ICAgCj4gICAJLyogV2Ugb3B0aW1pc3RpY2FsbHkgdHVybiBiYWNr IG9uIGludGVycnVwdHMsIHRoZW4gY2hlY2sgaWYgdGhlcmUgd2FzCj4gICAJICogbW9yZSB0byBk by4gKi8KPiArCS8qIERlcGVuZGluZyBvbiB0aGUgVklSVElPX1JJTkdfRl9VU0VEX0VWRU5UX0lE WCBmZWF0dXJlLCB3ZSBuZWVkIHRvCj4gKwkgKiBlaXRoZXIgY2xlYXIgdGhlIGZsYWdzIGJpdCBv ciBwb2ludCB0aGUgZXZlbnQgaW5kZXggYXQgdGhlIG5leHQKPiArCSAqIGVudHJ5LiBBbHdheXMg dXBkYXRlIHRoZSBldmVudCBpbmRleCB0byBrZWVwIGNvZGUgc2ltcGxlLiAqLwo+ICsKPiArCS8q IFRPRE86IHR1bmUgdGhpcyB0aHJlc2hvbGQgKi8KPiArCWJ1ZnMgPSAodTE2KSh2cS0+bmV4dF9h dmFpbF9pZHggLSB2cS0+bGFzdF91c2VkX2lkeCkgKiAzIC8gNDsKCmJ1ZnMgY291bGQgYmUgbW9y ZSB0aGFuIHZxLT5udW0gaGVyZSwgaXMgdGhpcyBpbnRlbmRlZD8KCj4gKwo+ICsJdXNlZF9pZHgg PSB2cS0+bGFzdF91c2VkX2lkeCArIGJ1ZnM7Cj4gKwl3cmFwX2NvdW50ZXIgPSB2cS0+d3JhcF9j b3VudGVyOwo+ICsKPiArCWlmICh1c2VkX2lkeCA+PSB2cS0+dnJpbmdfcGFja2VkLm51bSkgewo+ ICsJCXVzZWRfaWR4IC09IHZxLT52cmluZ19wYWNrZWQubnVtOwo+ICsJCXdyYXBfY291bnRlciBe PSAxOwoKV2hlbiB1c2VkX2lkeCBpcyBncmVhdGVyIG9yIGVxdWFsIHZxLT5udW0sIHRoZXJlJ3Mg bm8gbmVlZCB0byBmbGlwIAp3YXJwX2NvdW50ZXIgYml0IHNpbmNlIGl0IHNob3VsZCBtYXRjaCBu ZXh0X2F2YWlsX2lkeC4KCkFuZCB3ZSBuZWVkIGFsc28gY2FyZSBhYm91dCB0aGUgY2FzZSB3aGVu IG5leHRfYXZhaWwgd3JhcHMgYnV0IHVzZWRfaWR4IApub3QuIHNvIHdlIHByb2JhbHkgbmVlZDoK CmVsc2UgaWYgKHZxLT5uZXh0X2F2YWlsX2lkeCA8IHVzZWRfaWR4KSB7CiDCoMKgwqAgd3JhcF9j b3VudGVyIF49IDE7Cn0KCkkgdGhpbmsgbWF5YmUgaXQncyB0aW1lIHRvIGFkZCBzb21lIHNhbXBs ZSBjb2RlcyBpbiB0aGUgc3BlYyB0byBhdm9pZCAKZHVwbGljYXRpbmcgdGhlIGVmZm9ydHMoYnVn cykuCgpUaGFua3MKPiArCX0KPiArCj4gKwl2cS0+dnJpbmdfcGFja2VkLmRyaXZlci0+b2ZmX3dy YXAgPSBjcHVfdG9fdmlydGlvMTYoX3ZxLT52ZGV2LAo+ICsJCQl1c2VkX2lkeCB8ICh3cmFwX2Nv dW50ZXIgPDwgMTUpKTsKPiAgIAo+ICAgCWlmICh2cS0+ZXZlbnRfZmxhZ3Nfc2hhZG93ID09IFZS SU5HX0VWRU5UX0ZfRElTQUJMRSkgewo+ICAgCQl2aXJ0aW9fd21iKHZxLT53ZWFrX2JhcnJpZXJz KTsKPiAtCQl2cS0+ZXZlbnRfZmxhZ3Nfc2hhZG93ID0gVlJJTkdfRVZFTlRfRl9FTkFCTEU7Cj4g KwkJdnEtPmV2ZW50X2ZsYWdzX3NoYWRvdyA9IHZxLT5ldmVudCA/IFZSSU5HX0VWRU5UX0ZfREVT QyA6Cj4gKwkJCQkJCSAgICAgVlJJTkdfRVZFTlRfRl9FTkFCTEU7Cj4gICAJCXZxLT52cmluZ19w YWNrZWQuZHJpdmVyLT5mbGFncyA9IGNwdV90b192aXJ0aW8xNihfdnEtPnZkZXYsCj4gICAJCQkJ CQkJdnEtPmV2ZW50X2ZsYWdzX3NoYWRvdyk7Cj4gICAJfQo+IEBAIC0xODIyLDggKzE4NjUsMTAg QEAgdm9pZCB2cmluZ190cmFuc3BvcnRfZmVhdHVyZXMoc3RydWN0IHZpcnRpb19kZXZpY2UgKnZk ZXYpCj4gICAJCXN3aXRjaCAoaSkgewo+ICAgCQljYXNlIFZJUlRJT19SSU5HX0ZfSU5ESVJFQ1Rf REVTQzoKPiAgIAkJCWJyZWFrOwo+ICsjaWYgMAo+ICAgCQljYXNlIFZJUlRJT19SSU5HX0ZfRVZF TlRfSURYOgo+ICAgCQkJYnJlYWs7Cj4gKyNlbmRpZgo+ICAgCQljYXNlIFZJUlRJT19GX1ZFUlNJ T05fMToKPiAgIAkJCWJyZWFrOwo+ICAgCQljYXNlIFZJUlRJT19GX0lPTU1VX1BMQVRGT1JNOgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KVmlydHVhbGl6 YXRpb24gbWFpbGluZyBsaXN0ClZpcnR1YWxpemF0aW9uQGxpc3RzLmxpbnV4LWZvdW5kYXRpb24u b3JnCmh0dHBzOi8vbGlzdHMubGludXhmb3VuZGF0aW9uLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3Zp cnR1YWxpemF0aW9u