From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [PATCH v9 04/27] xen/xsplice: Hypervisor implementation of XEN_XSPLICE_op Date: Tue, 26 Apr 2016 13:50:03 -0400 Message-ID: <20160426174954.GA6301@localhost.localdomain> References: <1461598514-5440-1-git-send-email-konrad.wilk@oracle.com> <1461598514-5440-5-git-send-email-konrad.wilk@oracle.com> <571F5D3602000078000E5BE0@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1av78T-00075v-8E for xen-devel@lists.xenproject.org; Tue, 26 Apr 2016 17:50:57 +0000 Content-Disposition: inline In-Reply-To: <571F5D3602000078000E5BE0@prv-mh.provo.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Jan Beulich Cc: Stefano Stabellini , Wei Liu , ross.lagerwall@citrix.com, andrew.cooper3@citrix.com, Ian Jackson , mpohlack@amazon.de, sasha.levin@oracle.com, xen-devel@lists.xenproject.org, Daniel De Graaf List-Id: xen-devel@lists.xenproject.org T24gVHVlLCBBcHIgMjYsIDIwMTYgYXQgMDQ6MjE6MTBBTSAtMDYwMCwgSmFuIEJldWxpY2ggd3Jv dGU6Cj4gPj4+IE9uIDI1LjA0LjE2IGF0IDE3OjM0LCA8a29ucmFkLndpbGtAb3JhY2xlLmNvbT4g d3JvdGU6Cj4gPiBUaGUgaW1wbGVtZW50YXRpb24gZG9lcyBub3QgYWN0dWFsbHkgZG8gYW55IHBh dGNoaW5nLgo+ID4gCj4gPiBJdCBqdXN0IGFkZHMgdGhlIGZyYW1ld29yayBmb3IgZG9pbmcgdGhl IGh5cGVyY2FsbHMsCj4gPiBrZWVwaW5nIHRyYWNrIG9mIEVMRiBwYXlsb2FkcywgYW5kIHRoZSBi YXNpYyBvcGVyYXRpb25zOgo+ID4gIC0gcXVlcnkgd2hpY2ggcGF5bG9hZHMgZXhpc3QsCj4gPiAg LSBxdWVyeSBmb3Igc3BlY2lmaWMgcGF5bG9hZHMsCj4gPiAgLSBjaGVjayoxLCBhcHBseSoxLCBy ZXBsYWNlKjEsIGFuZCB1bmxvYWQgcGF5bG9hZHMuCj4gPiAKPiA+ICoxOiBXaGljaCBvZiBjb3Vy c2UgaW4gdGhpcyBwYXRjaCBhcmUgbm9wcy4KPiA+IAo+ID4gVGhlIGZ1bmN0aW9uYWxpdHkgaXMg ZGlzYWJsZWQgb24gQVJNIHVudGlsIGFsbCBhcmNoCj4gPiBjb21wb25lbnRzIGFyZSBpbXBsZW1l bnRlZC4KPiA+IAo+ID4gQWxzbyBieSBkZWZhdWx0IGl0IGlzIGRpc2FibGVkIHVudGlsIHRoZSBp bXBsZW1lbnRhdGlvbgo+ID4gaXMgaW4gcGxhY2UuCj4gPiAKPiA+IFdlIGFsc28gdXNlIHJlY3Vy c2l2ZSBzcGlubG9ja3MgdG8gc28gdGhhdCB0aGUgZmluZF9wYXlsb2FkCj4gPiBmdW5jdGlvbiBk b2VzIG5vdCBuZWVkIHRvIGhhdmUgYSAnbG9jaycgYW5kICdub24tbG9jaycgdmFyaWFudC4KPiA+ IAo+ID4gU2lnbmVkLW9mZi1ieTogS29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0Bv cmFjbGUuY29tPgo+ID4gU2lnbmVkLW9mZi1ieTogUm9zcyBMYWdlcndhbGwgPHJvc3MubGFnZXJ3 YWxsQGNpdHJpeC5jb20+Cj4gPiBSZXZpZXdlZC1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNv b3BlcjNAY2l0cml4LmNvbT4KPiA+IEFja2VkLWJ5OiBEYW5pZWwgRGUgR3JhYWYgPGRnZGVncmFA dHljaG8ubnNhLmdvdj4KPiAKPiBJJ20gaGVzaXRhbnQgdG8gc2F5IHRoYXQsIGJ1dCB3aXRoIGFs bCBvZiB0aGlzOgo+IAo+ID4gdjk6Cj4gPiAgICAgcy9maW5kX25hbWUvZ2V0X25hbWUvLCBkcm9w IGxvY2tzIHdoZW4gYWxsb2NhdGluZyBkYXRhLgo+ID4gICAgIERyb3AgY29uZGl0aW9uYWwgZXhw cmVzc2lvbiBvbiBjb3B5YmFjawo+ID4gICAgIE1vdmUgdGhlIGFsbG9jYXRpb24gb24gdXBsb2Fk IG91dHNpZGUgdGhlIHNwaW5sb2NrLgo+ID4gICAgIEFkZCAoVEVDSCBQUkVWSUVXKSB0byB0aGUg S2NvbmZpZyBoZWxwCj4gPiAgICAgUmV0dXJuIC1FSU5WQUwgaWYgdGhlIENIRUNLIG9yIFVOTE9B RCBhY3Rpb24gaXMgdG8gYmUgcGVyZm9ybWVkIGFuZCB0aGUgcGF5bG9hZAo+ID4gICAgIHN0YXRl IGlzIG5vdCBpbiBleHBlY3RlZCBzdGF0ZS4KPiA+ICAgICBQcmludCAnYycgbm90ICd1JyB3aGVu IGludm9raW5nIHRoZSBrZXloYW5kbGVyLgo+IAo+IC4uLiBJJ20gbm90IHN1cmUgdGhlIGVhcmxp ZXIgUi1iIGNhbiBzdGlsbCBiZSBjb25zaWRlcmVkIHZhbGlkLiBBbmRyZXc/CgpJIGRvbid0IGtu b3cgd2hhdCB0aGUgY3JpdGVyaWEgaXMgZm9yIGRyb3BwaW5nIGFuIFJldmlld2VkLWJ5LgpJIGFt IGhhcHB5IHRvIGRyb3AgaXQgaWYgeW91IHdvdWxkIGxpa2UgLSBidXQgaXQgbWF5IGJlIHRoYXQg QW5kcmV3CmlzIE9LIHdpdGggdGhlIHdheSBoZSBoYWQgaGlzIHJldmlldz8KCk9yIGlzIHRoaXMg bW9yZSBvZiB5b3VyIHZpZXcgYXMgbWFpbnRhaW5lciAtIHRoYXQgaXMgdGhlIHBhdGNoCmNoYW5n ZWQgY29uc2lkZXJhYmx5IChhbmQgd2hhdCBpcyB0aGF0PyBwZXJjZW50YWdlIG9mIHRoZSBwYXRj aD8Kc21hbGwgYW1vdW50IG9mIHRoZSBwYXRjaD8gVHJpdmlhbCBjaGFuZ2VzPyBEcm9wcGluZyBj b2RlPyk/Cj4gCj4gPiArc3RhdGljIGludCBnZXRfbmFtZShjb25zdCB4ZW5feHNwbGljZV9uYW1l X3QgKm5hbWUsIGNoYXIgKm4pCj4gPiArewo+ID4gKyAgICBpZiAoICFuYW1lLT5zaXplIHx8IG5h bWUtPnNpemUgPiBYRU5fWFNQTElDRV9OQU1FX1NJWkUgKQo+ID4gKyAgICAgICAgcmV0dXJuIC1F SU5WQUw7Cj4gPiArCj4gPiArICAgIGlmICggbmFtZS0+cGFkWzBdIHx8IG5hbWUtPnBhZFsxXSB8 fCBuYW1lLT5wYWRbMl0gKQo+ID4gKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4gPiArCj4gPiAr ICAgIGlmICggIWd1ZXN0X2hhbmRsZV9va2F5KG5hbWUtPm5hbWUsIG5hbWUtPnNpemUpICkKPiA+ ICsgICAgICAgIHJldHVybiAtRUlOVkFMOwo+ID4gKwo+ID4gKyAgICBpZiAoIF9fY29weV9mcm9t X2d1ZXN0KG4sIG5hbWUtPm5hbWUsIG5hbWUtPnNpemUpICkKPiA+ICsgICAgICAgIHJldHVybiAt RUZBVUxUOwo+IAo+IFF1b3RpbmcgcGFydCBvZiBteSB2OC4xIHJlcGx5Ogo+ICJJcyB0aGVyZSBh IHBhcnRpY3VsYXIgcmVhc29uIHdoeSB5b3Ugb3BlbiBjb2RlIGNvcHlfZnJvbV9ndWVzdCgpIGhl cmU/IgoKWW91IG1lYW4gd2h5IEkgdXNlIGd1ZXN0X2hhbmRsZV9va2F5IGFuZCBfX2NvcHlfZnJv bV9ndWVzdCBpbnN0ZWFkIG9mCnNheSBjb3B5X2Zyb21fZ3Vlc3Q/CgpJIHRoaW5rIGl0IGlzIGFu IGFydGlmaWNhdCBvZiBlYXJsaWVyIGNoYW5nZXMgLSBpbiB3aGljaCB0aGUgZmluZF9uYW1lCndv dWxkIG9ubHkgY2hlY2sgJ25hbWUtc2l6ZScgYW5kIHRoZW4gaW4gYW5vdGhlciBmdW5jdGlvbiB3 ZSB3b3VsZApqdXN0IGRvICdfX2NvcHlfZnJvbV9ndWVzdCcuIEJ1dCB0aGF0IGlzIG5vdCBuZWVk ZWQgYW55bW9yZSAtIHNvIGxldAptZSBjaGFuZ2UgaXQgdG8gJ2NvcHlfZnJvbV9ndWVzdCcKSSB0 aG91Z2h0IGF0IHNvbWUgcG9pbnQgeW91IGFza2VkIGZvciB0aGF0IGFzIHRoZSBjaGVjayB3YXMg ZG9uZSBmb3IKaXQgb25jZSBhbmQgdGhlcmUgd2FzIG5vIHBvaW50Cj4gCj4gPiArc3RhdGljIGlu dCB4c3BsaWNlX3VwbG9hZCh4ZW5fc3lzY3RsX3hzcGxpY2VfdXBsb2FkX3QgKnVwbG9hZCkKPiA+ ICt7Cj4gPiArICAgIHN0cnVjdCBwYXlsb2FkICpkYXRhLCAqZm91bmQ7Cj4gPiArICAgIGNoYXIg bltYRU5fWFNQTElDRV9OQU1FX1NJWkVdOwo+ID4gKyAgICBpbnQgcmM7Cj4gPiArCj4gPiArICAg IHJjID0gdmVyaWZ5X3BheWxvYWQodXBsb2FkLCBuKTsKPiA+ICsgICAgaWYgKCByYyApCj4gPiAr ICAgICAgICByZXR1cm4gcmM7Cj4gPiArCj4gPiArICAgIGRhdGEgPSB4emFsbG9jKHN0cnVjdCBw YXlsb2FkKTsKPiA+ICsKPiA+ICsgICAgc3Bpbl9sb2NrKCZwYXlsb2FkX2xvY2spOwo+ID4gKwo+ ID4gKyAgICBmb3VuZCA9IGZpbmRfcGF5bG9hZChuKTsKPiA+ICsgICAgaWYgKCBJU19FUlIoZm91 bmQpICkKPiA+ICsgICAgewo+ID4gKyAgICAgICAgcmMgPSBQVFJfRVJSKGZvdW5kKTsKPiA+ICsg ICAgICAgIGdvdG8gb3V0Owo+ID4gKyAgICB9Cj4gPiArICAgIGVsc2UgaWYgKCBmb3VuZCApCj4g PiArICAgIHsKPiA+ICsgICAgICAgIHJjID0gLUVFWElTVDsKPiA+ICsgICAgICAgIGdvdG8gb3V0 Owo+ID4gKyAgICB9Cj4gPiArCj4gPiArICAgIGlmICggIWRhdGEgKQo+ID4gKyAgICB7Cj4gPiAr ICAgICAgICByYyA9IC1FTk9NRU07Cj4gPiArICAgICAgICBnb3RvIG91dDsKPiA+ICsgICAgfQo+ ID4gKwo+ID4gKyAgICByYyA9IDA7Cj4gCj4gcmMgaXMgYWxyZWFkeSB6ZXJvIGJ5IHRoZSB0aW1l IHdlIGdldCBoZXJlLgo+IAo+IEkgYWxzbyB3b25kZXIgd2hldGhlciB0aGUgY29kZSB3b3VsZG4n dCBiZSBlYXNpZXIgdG8gcmVhZCBpZiB5b3UKPiB1c2VkIGp1c3QgYSBzZXF1ZW5jZSBvZiBpZigp L2Vsc2UgaWYoKSBoZXJlLCB3aXRob3V0IGFueSBnb3RvLXMuCgpCdXQgSSBkbyBuZWVkIHRvIGZy ZWUoZGF0YSkgYW5kIHVubG9jayB0aGUgc3BpbmxvY2sgLSBzbyBoYXZpbmcKYSBjb21tb24gY29k ZSB0byBwYXNzIHRocm91Z2ggbWFrZXMgc2Vuc2UuCgpVbmxlc3MgeW91IG1lYW4gaGF2ZSBhbiBj b25kaXRpb24gb24gaWYgKCAhcmMgKSwgYW5kIGRvIHRoZSBub3JtYWwgcGF0aD8KTGlrZSBzbzoK CiAgICByYyA9IHZlcmlmeV9wYXlsb2FkKHVwbG9hZCwgbik7CiAgICBpZiAoIHJjICkKICAgICAg ICByZXR1cm4gcmM7CgogICAgZGF0YSA9IHh6YWxsb2Moc3RydWN0IHBheWxvYWQpOwoKICAgIHNw aW5fbG9jaygmcGF5bG9hZF9sb2NrKTsKCiAgICBmb3VuZCA9IGZpbmRfcGF5bG9hZChuKTsKICAg IGlmICggSVNfRVJSKGZvdW5kKSApCiAgICAgICAgcmMgPSBQVFJfRVJSKGZvdW5kKTsKICAgIGVs c2UgaWYgKCBmb3VuZCApCiAgICAgICAgcmMgPSAtRUVYSVNUOwoKICAgIGlmICggIXJjICYmICFk YXRhICkKICAgICAgICByYyA9IC1FTk9NRU07CgogICAgaWYgKCAhcmMgKQogICAgewogICAgICAg IG1lbWNweShkYXRhLT5uYW1lLCBuLCBzdHJsZW4obikpOwogICAgICAgIGRhdGEtPnN0YXRlID0g WFNQTElDRV9TVEFURV9DSEVDS0VEOwogICAgICAgIElOSVRfTElTVF9IRUFEKCZkYXRhLT5saXN0 KTsKCiAgICAgICAgbGlzdF9hZGRfdGFpbCgmZGF0YS0+bGlzdCwgJnBheWxvYWRfbGlzdCk7CiAg ICAgICAgcGF5bG9hZF9jbnQrKzsKICAgICAgICBwYXlsb2FkX3ZlcnNpb24rKzsKICAgIH0KCiAg ICBzcGluX3VubG9jaygmcGF5bG9hZF9sb2NrKTsKCiAgICBpZiAoIHJjICkKICAgICAgICB4ZnJl ZShkYXRhKTsKCiAgICByZXR1cm4gcmM7CgoKVGhhdCBsb29rcyBmaW5lIGhlcmUsIGJ1dCBpbiB0 aGUgc3Vic2VxdWVudCBwYXRjaCBJIGhhdmUgdG8gYWxzbwpjaGVjayBmb3IKCmlmICggX19jb3B5 X2Zyb21fZ3Vlc3QocmF3X2RhdGEsIHVwbG9hZC0+cGF5bG9hZCwgdXBsb2FkLT5zaXplKSApICAg ICAgIAoKYW5kCnJjID0gbG9hZF9wYXlsb2FkX2RhdGEoZGF0YSwgcmF3X2RhdGEsIHVwbG9hZC0+ c2l6ZSk7CgphbmQgZ290byBzdGF0ZW1lbnQgaGVscCBhIGxvdCB0aGVyZS4KCkkgd291bGQgcmF0 aGVyIGhhdmUgaXQgdGhlIHdheSBpdCBpcyBub3cgaWYgeW91IGFyZSBPSyB3aXRoIHRoYXQ/CgoK CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2 ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4u b3JnL3hlbi1kZXZlbAo=