From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: Re: [PATCH v9 04/27] xen/xsplice: Hypervisor implementation of XEN_XSPLICE_op Date: Tue, 26 Apr 2016 04:21:10 -0600 Message-ID: <571F5D3602000078000E5BE0@prv-mh.provo.novell.com> References: <1461598514-5440-1-git-send-email-konrad.wilk@oracle.com> <1461598514-5440-5-git-send-email-konrad.wilk@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1av07F-0003JP-EB for xen-devel@lists.xenproject.org; Tue, 26 Apr 2016 10:21:13 +0000 In-Reply-To: <1461598514-5440-5-git-send-email-konrad.wilk@oracle.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Konrad Rzeszutek Wilk 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 Pj4+IE9uIDI1LjA0LjE2IGF0IDE3OjM0LCA8a29ucmFkLndpbGtAb3JhY2xlLmNvbT4gd3JvdGU6 Cj4gVGhlIGltcGxlbWVudGF0aW9uIGRvZXMgbm90IGFjdHVhbGx5IGRvIGFueSBwYXRjaGluZy4K PiAKPiBJdCBqdXN0IGFkZHMgdGhlIGZyYW1ld29yayBmb3IgZG9pbmcgdGhlIGh5cGVyY2FsbHMs Cj4ga2VlcGluZyB0cmFjayBvZiBFTEYgcGF5bG9hZHMsIGFuZCB0aGUgYmFzaWMgb3BlcmF0aW9u czoKPiAgLSBxdWVyeSB3aGljaCBwYXlsb2FkcyBleGlzdCwKPiAgLSBxdWVyeSBmb3Igc3BlY2lm aWMgcGF5bG9hZHMsCj4gIC0gY2hlY2sqMSwgYXBwbHkqMSwgcmVwbGFjZSoxLCBhbmQgdW5sb2Fk IHBheWxvYWRzLgo+IAo+ICoxOiBXaGljaCBvZiBjb3Vyc2UgaW4gdGhpcyBwYXRjaCBhcmUgbm9w cy4KPiAKPiBUaGUgZnVuY3Rpb25hbGl0eSBpcyBkaXNhYmxlZCBvbiBBUk0gdW50aWwgYWxsIGFy Y2gKPiBjb21wb25lbnRzIGFyZSBpbXBsZW1lbnRlZC4KPiAKPiBBbHNvIGJ5IGRlZmF1bHQgaXQg aXMgZGlzYWJsZWQgdW50aWwgdGhlIGltcGxlbWVudGF0aW9uCj4gaXMgaW4gcGxhY2UuCj4gCj4g V2UgYWxzbyB1c2UgcmVjdXJzaXZlIHNwaW5sb2NrcyB0byBzbyB0aGF0IHRoZSBmaW5kX3BheWxv YWQKPiBmdW5jdGlvbiBkb2VzIG5vdCBuZWVkIHRvIGhhdmUgYSAnbG9jaycgYW5kICdub24tbG9j aycgdmFyaWFudC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBLb25yYWQgUnplc3p1dGVrIFdpbGsgPGtv bnJhZC53aWxrQG9yYWNsZS5jb20+Cj4gU2lnbmVkLW9mZi1ieTogUm9zcyBMYWdlcndhbGwgPHJv c3MubGFnZXJ3YWxsQGNpdHJpeC5jb20+Cj4gUmV2aWV3ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFu ZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Cj4gQWNrZWQtYnk6IERhbmllbCBEZSBHcmFhZiA8ZGdk ZWdyYUB0eWNoby5uc2EuZ292PgoKSSdtIGhlc2l0YW50IHRvIHNheSB0aGF0LCBidXQgd2l0aCBh bGwgb2YgdGhpczoKCj4gdjk6Cj4gICAgIHMvZmluZF9uYW1lL2dldF9uYW1lLywgZHJvcCBsb2Nr cyB3aGVuIGFsbG9jYXRpbmcgZGF0YS4KPiAgICAgRHJvcCBjb25kaXRpb25hbCBleHByZXNzaW9u IG9uIGNvcHliYWNrCj4gICAgIE1vdmUgdGhlIGFsbG9jYXRpb24gb24gdXBsb2FkIG91dHNpZGUg dGhlIHNwaW5sb2NrLgo+ICAgICBBZGQgKFRFQ0ggUFJFVklFVykgdG8gdGhlIEtjb25maWcgaGVs cAo+ICAgICBSZXR1cm4gLUVJTlZBTCBpZiB0aGUgQ0hFQ0sgb3IgVU5MT0FEIGFjdGlvbiBpcyB0 byBiZSBwZXJmb3JtZWQgYW5kIHRoZSBwYXlsb2FkCj4gICAgIHN0YXRlIGlzIG5vdCBpbiBleHBl Y3RlZCBzdGF0ZS4KPiAgICAgUHJpbnQgJ2MnIG5vdCAndScgd2hlbiBpbnZva2luZyB0aGUga2V5 aGFuZGxlci4KCi4uLiBJJ20gbm90IHN1cmUgdGhlIGVhcmxpZXIgUi1iIGNhbiBzdGlsbCBiZSBj b25zaWRlcmVkIHZhbGlkLiBBbmRyZXc/Cgo+ICtzdGF0aWMgaW50IGdldF9uYW1lKGNvbnN0IHhl bl94c3BsaWNlX25hbWVfdCAqbmFtZSwgY2hhciAqbikKPiArewo+ICsgICAgaWYgKCAhbmFtZS0+ c2l6ZSB8fCBuYW1lLT5zaXplID4gWEVOX1hTUExJQ0VfTkFNRV9TSVpFICkKPiArICAgICAgICBy ZXR1cm4gLUVJTlZBTDsKPiArCj4gKyAgICBpZiAoIG5hbWUtPnBhZFswXSB8fCBuYW1lLT5wYWRb MV0gfHwgbmFtZS0+cGFkWzJdICkKPiArICAgICAgICByZXR1cm4gLUVJTlZBTDsKPiArCj4gKyAg ICBpZiAoICFndWVzdF9oYW5kbGVfb2theShuYW1lLT5uYW1lLCBuYW1lLT5zaXplKSApCj4gKyAg ICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4gKwo+ICsgICAgaWYgKCBfX2NvcHlfZnJvbV9ndWVzdChu LCBuYW1lLT5uYW1lLCBuYW1lLT5zaXplKSApCj4gKyAgICAgICAgcmV0dXJuIC1FRkFVTFQ7CgpR dW90aW5nIHBhcnQgb2YgbXkgdjguMSByZXBseToKIklzIHRoZXJlIGEgcGFydGljdWxhciByZWFz b24gd2h5IHlvdSBvcGVuIGNvZGUgY29weV9mcm9tX2d1ZXN0KCkgaGVyZT8iCgo+ICtzdGF0aWMg aW50IHhzcGxpY2VfdXBsb2FkKHhlbl9zeXNjdGxfeHNwbGljZV91cGxvYWRfdCAqdXBsb2FkKQo+ ICt7Cj4gKyAgICBzdHJ1Y3QgcGF5bG9hZCAqZGF0YSwgKmZvdW5kOwo+ICsgICAgY2hhciBuW1hF Tl9YU1BMSUNFX05BTUVfU0laRV07Cj4gKyAgICBpbnQgcmM7Cj4gKwo+ICsgICAgcmMgPSB2ZXJp ZnlfcGF5bG9hZCh1cGxvYWQsIG4pOwo+ICsgICAgaWYgKCByYyApCj4gKyAgICAgICAgcmV0dXJu IHJjOwo+ICsKPiArICAgIGRhdGEgPSB4emFsbG9jKHN0cnVjdCBwYXlsb2FkKTsKPiArCj4gKyAg ICBzcGluX2xvY2soJnBheWxvYWRfbG9jayk7Cj4gKwo+ICsgICAgZm91bmQgPSBmaW5kX3BheWxv YWQobik7Cj4gKyAgICBpZiAoIElTX0VSUihmb3VuZCkgKQo+ICsgICAgewo+ICsgICAgICAgIHJj ID0gUFRSX0VSUihmb3VuZCk7Cj4gKyAgICAgICAgZ290byBvdXQ7Cj4gKyAgICB9Cj4gKyAgICBl bHNlIGlmICggZm91bmQgKQo+ICsgICAgewo+ICsgICAgICAgIHJjID0gLUVFWElTVDsKPiArICAg ICAgICBnb3RvIG91dDsKPiArICAgIH0KPiArCj4gKyAgICBpZiAoICFkYXRhICkKPiArICAgIHsK PiArICAgICAgICByYyA9IC1FTk9NRU07Cj4gKyAgICAgICAgZ290byBvdXQ7Cj4gKyAgICB9Cj4g Kwo+ICsgICAgcmMgPSAwOwoKcmMgaXMgYWxyZWFkeSB6ZXJvIGJ5IHRoZSB0aW1lIHdlIGdldCBo ZXJlLgoKSSBhbHNvIHdvbmRlciB3aGV0aGVyIHRoZSBjb2RlIHdvdWxkbid0IGJlIGVhc2llciB0 byByZWFkIGlmIHlvdQp1c2VkIGp1c3QgYSBzZXF1ZW5jZSBvZiBpZigpL2Vsc2UgaWYoKSBoZXJl LCB3aXRob3V0IGFueSBnb3RvLXMuCgo+ICtzdGF0aWMgaW50IHhzcGxpY2VfYWN0aW9uKHhlbl9z eXNjdGxfeHNwbGljZV9hY3Rpb25fdCAqYWN0aW9uKQo+ICt7Cj4gKyAgICBzdHJ1Y3QgcGF5bG9h ZCAqZGF0YTsKPiArICAgIGNoYXIgbltYRU5fWFNQTElDRV9OQU1FX1NJWkVdOwo+ICsgICAgaW50 IHJjOwo+ICsKPiArICAgIHJjID0gZ2V0X25hbWUoJmFjdGlvbi0+bmFtZSwgbik7Cj4gKyAgICBp ZiAoIHJjICkKPiArICAgICAgICByZXR1cm4gcmM7Cj4gKwo+ICsgICAgc3Bpbl9sb2NrKCZwYXls b2FkX2xvY2spOwo+ICsKPiArICAgIGRhdGEgPSBmaW5kX3BheWxvYWQobik7Cj4gKyAgICBpZiAo IElTX0VSUl9PUl9OVUxMKGRhdGEpICkKPiArICAgIHsKPiArICAgICAgICBzcGluX3VubG9jaygm cGF5bG9hZF9sb2NrKTsKPiArCj4gKyAgICAgICAgaWYgKCAhZGF0YSApCj4gKyAgICAgICAgICAg IHJldHVybiAtRU5PRU5UOwo+ICsKPiArICAgICAgICByZXR1cm4gUFRSX0VSUihkYXRhKTsKPiAr ICAgIH0KPiArCj4gKyAgICBzd2l0Y2ggKCBhY3Rpb24tPmNtZCApCj4gKyAgICB7Cj4gKyAgICBj YXNlIFhTUExJQ0VfQUNUSU9OX0NIRUNLOgo+ICsgICAgICAgIGlmICggZGF0YS0+c3RhdGUgPT0g WFNQTElDRV9TVEFURV9DSEVDS0VEICkKPiArICAgICAgICB7Cj4gKyAgICAgICAgICAgIC8qIE5v IGltcGxlbWVudGF0aW9uIHlldC4gKi8KPiArICAgICAgICAgICAgZGF0YS0+c3RhdGUgPSBYU1BM SUNFX1NUQVRFX0NIRUNLRUQ7Cj4gKyAgICAgICAgICAgIGRhdGEtPnJjID0gMDsKPiArICAgICAg ICB9IGVsc2UKPiArICAgICAgICAgICAgcmMgPSAtRUlOVkFMOwo+ICsgICAgICAgIGJyZWFrOwoK V2hpbGUgYWNjb3JkaW5nIHRvIFJvc3MgaXQgbG9va3MgbGlrZSB0aGlzIGlzIGdvaW5nIHRvIGdv IGF3YXkgYW55d2F5LAouLi4KCj4gKyAgICBjYXNlIFhTUExJQ0VfQUNUSU9OX1VOTE9BRDoKPiAr ICAgICAgICBpZiAoIGRhdGEtPnN0YXRlID09IFhTUExJQ0VfU1RBVEVfQ0hFQ0tFRCApCj4gKyAg ICAgICAgewo+ICsgICAgICAgICAgICBmcmVlX3BheWxvYWQoZGF0YSk7Cj4gKyAgICAgICAgICAg IC8qIE5vIHRvdWNoaW5nICdkYXRhJyBmcm9tIGhlcmUgb24hICovCj4gKyAgICAgICAgICAgIGRh dGEgPSBOVUxMOwo+ICsgICAgICAgIH0gZWxzZQoKLi4uIHRoZXJlJ3MgYSBjb2Rpbmcgc3R5bGUg aXNzdWUgaGVyZSAoYW5kIGFsc28gYWJvdmUgaWYgdGhhdCBjb2RlIGlzCnRvIHN0YXkpLgoKPiAr c3RhdGljIGNvbnN0IGNoYXIgKnN0YXRlMnN0cih1aW50MzJfdCBzdGF0ZSkKClByZWZlcmFibHkg InVuc2lnbmVkIGludCIuCgo+ICt7Cj4gKyNkZWZpbmUgU1RBVEUoeCkgW1hTUExJQ0VfU1RBVEVf IyN4XSA9ICN4Cj4gKyAgICBzdGF0aWMgY29uc3QgY2hhciAqY29uc3QgbmFtZXNbXSA9IHsKPiAr ICAgICAgICAgICAgU1RBVEUoQ0hFQ0tFRCksCj4gKyAgICAgICAgICAgIFNUQVRFKEFQUExJRUQp LAo+ICsgICAgfTsKPiArI3VuZGVmIFNUQVRFCj4gKwo+ICsgICAgaWYgKHN0YXRlID49IEFSUkFZ X1NJWkUobmFtZXMpIHx8ICFuYW1lc1tzdGF0ZV0pCgpNaXNzaW5nIGJsYW5rcy4KCkphbgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1h aWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94 ZW4tZGV2ZWwK