From mboxrd@z Thu Jan 1 00:00:00 1970 From: jiangyiwen Subject: Re: [PATCH 1/5] VSOCK: support fill mergeable rx buffer in guest Date: Tue, 6 Nov 2018 14:22:41 +0800 Message-ID: <5BE13331.7050901@huawei.com> References: <5BDFF4FE.1080500@huawei.com> <1801c013-6cfb-1d07-3401-49f536e01983@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: netdev@vger.kernel.org, kvm@vger.kernel.org, virtualization@lists.linux-foundation.org To: Jason Wang , Return-path: In-Reply-To: <1801c013-6cfb-1d07-3401-49f536e01983@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 List-Id: netdev.vger.kernel.org T24gMjAxOC8xMS82IDExOjM4LCBKYXNvbiBXYW5nIHdyb3RlOgo+IAo+IE9uIDIwMTgvMTEvNSDk uIvljYgzOjQ1LCBqaWFuZ3lpd2VuIHdyb3RlOgo+PiBJbiBkcml2ZXIgcHJvYmluZywgaWYgdmly dGlvIGhhcyBWSVJUSU9fVlNPQ0tfRl9NUkdfUlhCVUYgZmVhdHVyZSwKPj4gaXQgd2lsbCBmaWxs IG1lcmdlYWJsZSByeCBidWZmZXIsIHN1cHBvcnQgZm9yIGhvc3Qgc2VuZCBtZXJnZWFibGUKPj4g cnggYnVmZmVyLiBJdCB3aWxsIGZpbGwgYSBwYWdlIGV2ZXJ5dGltZSB0byBjb21wYWN0IHdpdGgg c21hbGwKPj4gcGFja2V0IGFuZCBiaWcgcGFja2V0Lgo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBZaXdl biBKaWFuZyA8amlhbmd5aXdlbkBodWF3ZWkuY29tPgo+PiAtLS0KPj4gICBpbmNsdWRlL2xpbnV4 L3ZpcnRpb192c29jay5oICAgICB8ICAzICsrCj4+ICAgbmV0L3Ztd192c29jay92aXJ0aW9fdHJh bnNwb3J0LmMgfCA3MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCj4+ ICAgMiBmaWxlcyBjaGFuZ2VkLCA1NiBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkKPj4K Pj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvdmlydGlvX3Zzb2NrLmggYi9pbmNsdWRlL2xp bnV4L3ZpcnRpb192c29jay5oCj4+IGluZGV4IGUyMjNlMjYuLmJmODQ0MTggMTAwNjQ0Cj4+IC0t LSBhL2luY2x1ZGUvbGludXgvdmlydGlvX3Zzb2NrLmgKPj4gKysrIGIvaW5jbHVkZS9saW51eC92 aXJ0aW9fdnNvY2suaAo+PiBAQCAtMTQsNiArMTQsOSBAQAo+PiAgICNkZWZpbmUgVklSVElPX1ZT T0NLX01BWF9CVUZfU0laRSAgICAgICAgMHhGRkZGRkZGRlVMCj4+ICAgI2RlZmluZSBWSVJUSU9f VlNPQ0tfTUFYX1BLVF9CVUZfU0laRSAgICAgICAgKDEwMjQgKiA2NCkKPj4KPj4gKy8qIFZpcnRp by12c29jayBmZWF0dXJlICovCj4+ICsjZGVmaW5lIFZJUlRJT19WU09DS19GX01SR19SWEJVRiAw IC8qIEhvc3QgY2FuIG1lcmdlIHJlY2VpdmUgYnVmZmVycy4gKi8KPj4gKwo+PiAgIGVudW0gewo+ PiAgICAgICBWU09DS19WUV9SWCAgICAgPSAwLCAvKiBmb3IgaG9zdCB0byBndWVzdCBkYXRhICov Cj4+ICAgICAgIFZTT0NLX1ZRX1RYICAgICA9IDEsIC8qIGZvciBndWVzdCB0byBob3N0IGRhdGEg Ki8KPj4gZGlmZiAtLWdpdCBhL25ldC92bXdfdnNvY2svdmlydGlvX3RyYW5zcG9ydC5jIGIvbmV0 L3Ztd192c29jay92aXJ0aW9fdHJhbnNwb3J0LmMKPj4gaW5kZXggNWQzY2NlOS4uMjA0MGE5ZSAx MDA2NDQKPj4gLS0tIGEvbmV0L3Ztd192c29jay92aXJ0aW9fdHJhbnNwb3J0LmMKPj4gKysrIGIv bmV0L3Ztd192c29jay92aXJ0aW9fdHJhbnNwb3J0LmMKPj4gQEAgLTY0LDYgKzY0LDcgQEAgc3Ry dWN0IHZpcnRpb192c29jayB7Cj4+ICAgICAgIHN0cnVjdCB2aXJ0aW9fdnNvY2tfZXZlbnQgZXZl bnRfbGlzdFs4XTsKPj4KPj4gICAgICAgdTMyIGd1ZXN0X2NpZDsKPj4gKyAgICBib29sIG1lcmdl YWJsZTsKPj4gICB9Owo+Pgo+PiAgIHN0YXRpYyBzdHJ1Y3QgdmlydGlvX3Zzb2NrICp2aXJ0aW9f dnNvY2tfZ2V0KHZvaWQpCj4+IEBAIC0yNTYsNiArMjU3LDI1IEBAIHN0YXRpYyBpbnQgdmlydGlv X3RyYW5zcG9ydF9zZW5kX3BrdF9sb29wYmFjayhzdHJ1Y3QgdmlydGlvX3Zzb2NrICp2c29jaywK Pj4gICAgICAgcmV0dXJuIDA7Cj4+ICAgfQo+Pgo+PiArc3RhdGljIGludCBmaWxsX21lcmdlYWJs ZV9yeF9idWZmKHN0cnVjdCB2aXJ0cXVldWUgKnZxKQo+PiArewo+PiArICAgIHZvaWQgKnBhZ2Ug PSBOVUxMOwo+PiArICAgIHN0cnVjdCBzY2F0dGVybGlzdCBzZzsKPj4gKyAgICBpbnQgZXJyOwo+ PiArCj4+ICsgICAgcGFnZSA9ICh2b2lkICopZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwpOwo+ IAo+IAo+IEFueSByZWFzb24gdG8gdXNlIHplcm9lZCBwYWdlPwoKSW4gcHJldmlvdXMgdmVyc2lv biwgdGhlIGVudGlyZSBzdHJ1Y3R1cmUgb2YgdmlydGlvX3Zzb2NrX3BrdCBpcyBwcmVhbGxvY2F0 ZWQKaW4gZ3Vlc3QgdXNlIGt6YWxsb2MsIGl0IGlzIGEgY29udGlndW91cyB6ZXJvZWQgcGh5c2lj YWwgbWVtb3J5LCBidXQgaG9zdCBvbmx5Cm5lZWQgdG8gZmlsbCB2aXJ0aW9fdnNvY2tfaGRyIHNp emUuCgpIb3dldmVyLCBpbiBtZXJnZWFibGUgcnggYnVmZmVyIHZlcnNpb24sIHdlIG9ubHkgZmls bCBhIHBhZ2UgaW4gdnJpbmcgZGVzY3JpcHRvcgppbiBndWVzdCwgYW5kIEkgd2lsbCByZXNlcnZl IHNpemUgb2YgdmlydGlvX3Zzb2NrX3BrdCBpbiBob3N0IGluc3RlYWQgb2Ygd3JpdGUKdGhlIHRv dGFsIHNpemUgb2YgdmlydGlvX3Zzb2NrX3BrdCwgZm9yIHRoZSBjb3JyZWN0bmVzcyBvZiBzdHJ1 Y3R1cmUgdmFsdWUsCndlIHNob3VsZCBzZXQgemVyb2VkIHBhZ2UgaW4gYWR2YW5jZS4KCj4gCj4g Cj4+ICsgICAgaWYgKCFwYWdlKQo+PiArICAgICAgICByZXR1cm4gLUVOT01FTTsKPj4gKwo+PiAr ICAgIHNnX2luaXRfb25lKCZzZywgcGFnZSwgUEFHRV9TSVpFKTsKPiAKPiAKPiBGWUksIGZvciB2 aXJ0aW8tbmV0IHdlIGhhdmUgc2V2ZXJhbCBvcHRpbWl6YXRpb25zIGZvciBtZXJnZWFibGUgcngg YnVmZmVyOgo+IAo+IC0gc2tiX3BhZ2VfZnJhZ19yZWZpbGwoKSB3aGljaCBjYW4gdXNlIGhpZ2gg b3JkZXIgcGFnZSBhbmQgcmVkdWNlIHRoZSBzdHJlc3Mgb2YgcGFnZSBhbGxvY2F0b3IKPiAKCllv dSdyZSByaWdodCwgaW5pdGlhbGx5IEkgd2FudCB0byB1c2UgYSBtZW1vcnkgcG9sbCB0byBtYW5h Z2UgdGhlIHJ4IGJ1ZmZlciwKYW5kIHRoZW4gdXNlIHRoaXMgaW4gdGhlIGxhdGVyIG9wdGltaXpl ZCBwYXRjaC4gWW91ciBhZHZpY2UgaXMgdmVyeSBncmVhdC4KCj4gLSB3ZSBkb24ndCB1c2UgZml4 ZWQgYnVmZmVyIHNpemUsIGluc3RlYWQgd2UgdXNlIEVXTUEgdG8gZXN0aW1hdGUgdGhlIHBvc3Np YmxlIHJ4IGJ1ZmZlciBzaXplIHRvIGF2b2lkIGludGVybmFsIGZyYWdtZW50YXRpb24KPiAKCk9r LCBJIGFuYWx5c2lzIHRoZSBmZWF0dXJlIGFuZCBjb25zaWRlciBhZGQgaXQgaW50byBteSBwYXRj aGVzLgoKPiAKPiBJZiB3ZSBjYW4gdHJ5IHRvIHJldXNlIHZpcnRpby1uZXQgZHJpdmVyLCB3ZSB3 aWxsIGdldCB0aG9zZSBuaWNlIGZlYXR1cmVzLgo+IAoKWWVzLCBhZnRlciBhbGwgdmlydGlvLW5l dCBoYXMgYSB2ZXJ5IGdvb2QgZWNvbG9naWNhbCBlbnZpcm9ubWVudCwgYW5kIGl0IGFsc28KZG8g bWFueSBwZXJmb3JtYW5jZSBvcHRpbWl6YXRpb24sIGl0IGlzIGFjdHVhbGx5IGEgZ29vZCBpZGVh LgoKPiAKPiBUaGFua3MKPiAKPiAKPj4gKwo+PiArICAgIGVyciA9IHZpcnRxdWV1ZV9hZGRfaW5i dWYodnEsICZzZywgMSwgcGFnZSwgR0ZQX0tFUk5FTCk7Cj4+ICsgICAgaWYgKGVyciA8IDApCj4+ ICsgICAgICAgIGZyZWVfcGFnZSgodW5zaWduZWQgbG9uZykgcGFnZSk7Cj4+ICsKPj4gKyAgICBy ZXR1cm4gZXJyOwo+PiArfQo+PiArCj4+ICAgc3RhdGljIHZvaWQgdmlydGlvX3Zzb2NrX3J4X2Zp bGwoc3RydWN0IHZpcnRpb192c29jayAqdnNvY2spCj4+ICAgewo+PiAgICAgICBpbnQgYnVmX2xl biA9IFZJUlRJT19WU09DS19ERUZBVUxUX1JYX0JVRl9TSVpFOwo+PiBAQCAtMjY3LDI3ICsyODcs MzMgQEAgc3RhdGljIHZvaWQgdmlydGlvX3Zzb2NrX3J4X2ZpbGwoc3RydWN0IHZpcnRpb192c29j ayAqdnNvY2spCj4+ICAgICAgIHZxID0gdnNvY2stPnZxc1tWU09DS19WUV9SWF07Cj4+Cj4+ICAg ICAgIGRvIHsKPj4gLSAgICAgICAgcGt0ID0ga3phbGxvYyhzaXplb2YoKnBrdCksIEdGUF9LRVJO RUwpOwo+PiAtICAgICAgICBpZiAoIXBrdCkKPj4gLSAgICAgICAgICAgIGJyZWFrOwo+PiArICAg ICAgICBpZiAodnNvY2stPm1lcmdlYWJsZSkgewo+PiArICAgICAgICAgICAgcmV0ID0gZmlsbF9t ZXJnZWFibGVfcnhfYnVmZih2cSk7Cj4+ICsgICAgICAgICAgICBpZiAocmV0KQo+PiArICAgICAg ICAgICAgICAgIGJyZWFrOwo+PiArICAgICAgICB9IGVsc2Ugewo+PiArICAgICAgICAgICAgcGt0 ID0ga3phbGxvYyhzaXplb2YoKnBrdCksIEdGUF9LRVJORUwpOwo+PiArICAgICAgICAgICAgaWYg KCFwa3QpCj4+ICsgICAgICAgICAgICAgICAgYnJlYWs7Cj4+Cj4+IC0gICAgICAgIHBrdC0+YnVm ID0ga21hbGxvYyhidWZfbGVuLCBHRlBfS0VSTkVMKTsKPj4gLSAgICAgICAgaWYgKCFwa3QtPmJ1 Zikgewo+PiAtICAgICAgICAgICAgdmlydGlvX3RyYW5zcG9ydF9mcmVlX3BrdChwa3QpOwo+PiAt ICAgICAgICAgICAgYnJlYWs7Cj4+IC0gICAgICAgIH0KPj4gKyAgICAgICAgICAgIHBrdC0+YnVm ID0ga21hbGxvYyhidWZfbGVuLCBHRlBfS0VSTkVMKTsKPj4gKyAgICAgICAgICAgIGlmICghcGt0 LT5idWYpIHsKPj4gKyAgICAgICAgICAgICAgICB2aXJ0aW9fdHJhbnNwb3J0X2ZyZWVfcGt0KHBr dCk7Cj4+ICsgICAgICAgICAgICAgICAgYnJlYWs7Cj4+ICsgICAgICAgICAgICB9Cj4+Cj4+IC0g ICAgICAgIHBrdC0+bGVuID0gYnVmX2xlbjsKPj4gKyAgICAgICAgICAgIHBrdC0+bGVuID0gYnVm X2xlbjsKPj4KPj4gLSAgICAgICAgc2dfaW5pdF9vbmUoJmhkciwgJnBrdC0+aGRyLCBzaXplb2Yo cGt0LT5oZHIpKTsKPj4gLSAgICAgICAgc2dzWzBdID0gJmhkcjsKPj4gKyAgICAgICAgICAgIHNn X2luaXRfb25lKCZoZHIsICZwa3QtPmhkciwgc2l6ZW9mKHBrdC0+aGRyKSk7Cj4+ICsgICAgICAg ICAgICBzZ3NbMF0gPSAmaGRyOwo+Pgo+PiAtICAgICAgICBzZ19pbml0X29uZSgmYnVmLCBwa3Qt PmJ1ZiwgYnVmX2xlbik7Cj4+IC0gICAgICAgIHNnc1sxXSA9ICZidWY7Cj4+IC0gICAgICAgIHJl dCA9IHZpcnRxdWV1ZV9hZGRfc2dzKHZxLCBzZ3MsIDAsIDIsIHBrdCwgR0ZQX0tFUk5FTCk7Cj4+ IC0gICAgICAgIGlmIChyZXQpIHsKPj4gLSAgICAgICAgICAgIHZpcnRpb190cmFuc3BvcnRfZnJl ZV9wa3QocGt0KTsKPj4gLSAgICAgICAgICAgIGJyZWFrOwo+PiArICAgICAgICAgICAgc2dfaW5p dF9vbmUoJmJ1ZiwgcGt0LT5idWYsIGJ1Zl9sZW4pOwo+PiArICAgICAgICAgICAgc2dzWzFdID0g JmJ1ZjsKPj4gKyAgICAgICAgICAgIHJldCA9IHZpcnRxdWV1ZV9hZGRfc2dzKHZxLCBzZ3MsIDAs IDIsIHBrdCwgR0ZQX0tFUk5FTCk7Cj4+ICsgICAgICAgICAgICBpZiAocmV0KSB7Cj4+ICsgICAg ICAgICAgICAgICAgdmlydGlvX3RyYW5zcG9ydF9mcmVlX3BrdChwa3QpOwo+PiArICAgICAgICAg ICAgICAgIGJyZWFrOwo+PiArICAgICAgICAgICAgfQo+PiAgICAgICAgICAgfQo+PiAgICAgICAg ICAgdnNvY2stPnJ4X2J1Zl9ucisrOwo+PiAgICAgICB9IHdoaWxlICh2cS0+bnVtX2ZyZWUpOwo+ PiBAQCAtNTg4LDYgKzYxNCw5IEBAIHN0YXRpYyBpbnQgdmlydGlvX3Zzb2NrX3Byb2JlKHN0cnVj dCB2aXJ0aW9fZGV2aWNlICp2ZGV2KQo+PiAgICAgICBpZiAocmV0IDwgMCkKPj4gICAgICAgICAg IGdvdG8gb3V0X3ZxczsKPj4KPj4gKyAgICBpZiAodmlydGlvX2hhc19mZWF0dXJlKHZkZXYsIFZJ UlRJT19WU09DS19GX01SR19SWEJVRikpCj4+ICsgICAgICAgIHZzb2NrLT5tZXJnZWFibGUgPSB0 cnVlOwo+PiArCj4+ICAgICAgIHZzb2NrLT5yeF9idWZfbnIgPSAwOwo+PiAgICAgICB2c29jay0+ cnhfYnVmX21heF9uciA9IDA7Cj4+ICAgICAgIGF0b21pY19zZXQoJnZzb2NrLT5xdWV1ZWRfcmVw bGllcywgMCk7Cj4+IEBAIC02NDAsOCArNjY5LDEyIEBAIHN0YXRpYyB2b2lkIHZpcnRpb192c29j a19yZW1vdmUoc3RydWN0IHZpcnRpb19kZXZpY2UgKnZkZXYpCj4+ICAgICAgIHZkZXYtPmNvbmZp Zy0+cmVzZXQodmRldik7Cj4+Cj4+ICAgICAgIG11dGV4X2xvY2soJnZzb2NrLT5yeF9sb2NrKTsK Pj4gLSAgICB3aGlsZSAoKHBrdCA9IHZpcnRxdWV1ZV9kZXRhY2hfdW51c2VkX2J1Zih2c29jay0+ dnFzW1ZTT0NLX1ZRX1JYXSkpKQo+PiAtICAgICAgICB2aXJ0aW9fdHJhbnNwb3J0X2ZyZWVfcGt0 KHBrdCk7Cj4+ICsgICAgd2hpbGUgKChwa3QgPSB2aXJ0cXVldWVfZGV0YWNoX3VudXNlZF9idWYo dnNvY2stPnZxc1tWU09DS19WUV9SWF0pKSkgewo+PiArICAgICAgICBpZiAodnNvY2stPm1lcmdl YWJsZSkKPj4gKyAgICAgICAgICAgIGZyZWVfcGFnZSgodW5zaWduZWQgbG9uZykodm9pZCAqKXBr dCk7Cj4+ICsgICAgICAgIGVsc2UKPj4gKyAgICAgICAgICAgIHZpcnRpb190cmFuc3BvcnRfZnJl ZV9wa3QocGt0KTsKPj4gKyAgICB9Cj4+ICAgICAgIG11dGV4X3VubG9jaygmdnNvY2stPnJ4X2xv Y2spOwo+Pgo+PiAgICAgICBtdXRleF9sb2NrKCZ2c29jay0+dHhfbG9jayk7Cj4+IEBAIC02ODMs NiArNzE2LDcgQEAgc3RhdGljIHZvaWQgdmlydGlvX3Zzb2NrX3JlbW92ZShzdHJ1Y3QgdmlydGlv X2RldmljZSAqdmRldikKPj4gICB9Owo+Pgo+PiAgIHN0YXRpYyB1bnNpZ25lZCBpbnQgZmVhdHVy ZXNbXSA9IHsKPj4gKyAgICBWSVJUSU9fVlNPQ0tfRl9NUkdfUlhCVUYsCj4+ICAgfTsKPj4KPj4g ICBzdGF0aWMgc3RydWN0IHZpcnRpb19kcml2ZXIgdmlydGlvX3Zzb2NrX2RyaXZlciA9IHsKPiAK PiAuCj4gCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K VmlydHVhbGl6YXRpb24gbWFpbGluZyBsaXN0ClZpcnR1YWxpemF0aW9uQGxpc3RzLmxpbnV4LWZv dW5kYXRpb24ub3JnCmh0dHBzOi8vbGlzdHMubGludXhmb3VuZGF0aW9uLm9yZy9tYWlsbWFuL2xp c3RpbmZvL3ZpcnR1YWxpemF0aW9u