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: Wed, 27 Apr 2016 00:51:34 -0600 Message-ID: <57207D9602000078000E627B@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> <571F5D3602000078000E5BE0@prv-mh.provo.novell.com> <20160426174954.GA6301@localhost.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1avJJv-0002A9-Ak for xen-devel@lists.xenproject.org; Wed, 27 Apr 2016 06:51:35 +0000 In-Reply-To: <20160426174954.GA6301@localhost.localdomain> 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+IE9uIDI2LjA0LjE2IGF0IDE5OjUwLCA8a29ucmFkLndpbGtAb3JhY2xlLmNvbT4gd3JvdGU6 Cj4gT24gVHVlLCBBcHIgMjYsIDIwMTYgYXQgMDQ6MjE6MTBBTSAtMDYwMCwgSmFuIEJldWxpY2gg d3JvdGU6Cj4+ID4+PiBPbiAyNS4wNC4xNiBhdCAxNzozNCwgPGtvbnJhZC53aWxrQG9yYWNsZS5j b20+IHdyb3RlOgo+PiA+IFRoZSBpbXBsZW1lbnRhdGlvbiBkb2VzIG5vdCBhY3R1YWxseSBkbyBh bnkgcGF0Y2hpbmcuCj4+ID4gCj4+ID4gSXQganVzdCBhZGRzIHRoZSBmcmFtZXdvcmsgZm9yIGRv aW5nIHRoZSBoeXBlcmNhbGxzLAo+PiA+IGtlZXBpbmcgdHJhY2sgb2YgRUxGIHBheWxvYWRzLCBh bmQgdGhlIGJhc2ljIG9wZXJhdGlvbnM6Cj4+ID4gIC0gcXVlcnkgd2hpY2ggcGF5bG9hZHMgZXhp c3QsCj4+ID4gIC0gcXVlcnkgZm9yIHNwZWNpZmljIHBheWxvYWRzLAo+PiA+ICAtIGNoZWNrKjEs IGFwcGx5KjEsIHJlcGxhY2UqMSwgYW5kIHVubG9hZCBwYXlsb2Fkcy4KPj4gPiAKPj4gPiAqMTog V2hpY2ggb2YgY291cnNlIGluIHRoaXMgcGF0Y2ggYXJlIG5vcHMuCj4+ID4gCj4+ID4gVGhlIGZ1 bmN0aW9uYWxpdHkgaXMgZGlzYWJsZWQgb24gQVJNIHVudGlsIGFsbCBhcmNoCj4+ID4gY29tcG9u ZW50cyBhcmUgaW1wbGVtZW50ZWQuCj4+ID4gCj4+ID4gQWxzbyBieSBkZWZhdWx0IGl0IGlzIGRp c2FibGVkIHVudGlsIHRoZSBpbXBsZW1lbnRhdGlvbgo+PiA+IGlzIGluIHBsYWNlLgo+PiA+IAo+ PiA+IFdlIGFsc28gdXNlIHJlY3Vyc2l2ZSBzcGlubG9ja3MgdG8gc28gdGhhdCB0aGUgZmluZF9w YXlsb2FkCj4+ID4gZnVuY3Rpb24gZG9lcyBub3QgbmVlZCB0byBoYXZlIGEgJ2xvY2snIGFuZCAn bm9uLWxvY2snIHZhcmlhbnQuCj4+ID4gCj4+ID4gU2lnbmVkLW9mZi1ieTogS29ucmFkIFJ6ZXN6 dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29tPgo+PiA+IFNpZ25lZC1vZmYtYnk6IFJv c3MgTGFnZXJ3YWxsIDxyb3NzLmxhZ2Vyd2FsbEBjaXRyaXguY29tPgo+PiA+IFJldmlld2VkLWJ5 OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgo+PiA+IEFja2VkLWJ5 OiBEYW5pZWwgRGUgR3JhYWYgPGRnZGVncmFAdHljaG8ubnNhLmdvdj4KPj4gCj4+IEknbSBoZXNp dGFudCB0byBzYXkgdGhhdCwgYnV0IHdpdGggYWxsIG9mIHRoaXM6Cj4+IAo+PiA+IHY5Ogo+PiA+ ICAgICBzL2ZpbmRfbmFtZS9nZXRfbmFtZS8sIGRyb3AgbG9ja3Mgd2hlbiBhbGxvY2F0aW5nIGRh dGEuCj4+ID4gICAgIERyb3AgY29uZGl0aW9uYWwgZXhwcmVzc2lvbiBvbiBjb3B5YmFjawo+PiA+ ICAgICBNb3ZlIHRoZSBhbGxvY2F0aW9uIG9uIHVwbG9hZCBvdXRzaWRlIHRoZSBzcGlubG9jay4K Pj4gPiAgICAgQWRkIChURUNIIFBSRVZJRVcpIHRvIHRoZSBLY29uZmlnIGhlbHAKPj4gPiAgICAg UmV0dXJuIC1FSU5WQUwgaWYgdGhlIENIRUNLIG9yIFVOTE9BRCBhY3Rpb24gaXMgdG8gYmUgcGVy Zm9ybWVkIGFuZCB0aGUgcGF5bG9hZAo+PiA+ICAgICBzdGF0ZSBpcyBub3QgaW4gZXhwZWN0ZWQg c3RhdGUuCj4+ID4gICAgIFByaW50ICdjJyBub3QgJ3UnIHdoZW4gaW52b2tpbmcgdGhlIGtleWhh bmRsZXIuCj4+IAo+PiAuLi4gSSdtIG5vdCBzdXJlIHRoZSBlYXJsaWVyIFItYiBjYW4gc3RpbGwg YmUgY29uc2lkZXJlZCB2YWxpZC4gQW5kcmV3Pwo+IAo+IEkgZG9uJ3Qga25vdyB3aGF0IHRoZSBj cml0ZXJpYSBpcyBmb3IgZHJvcHBpbmcgYW4gUmV2aWV3ZWQtYnkuCj4gSSBhbSBoYXBweSB0byBk cm9wIGl0IGlmIHlvdSB3b3VsZCBsaWtlIC0gYnV0IGl0IG1heSBiZSB0aGF0IEFuZHJldwo+IGlz IE9LIHdpdGggdGhlIHdheSBoZSBoYWQgaGlzIHJldmlldz8KPiAKPiBPciBpcyB0aGlzIG1vcmUg b2YgeW91ciB2aWV3IGFzIG1haW50YWluZXIgLSB0aGF0IGlzIHRoZSBwYXRjaAo+IGNoYW5nZWQg Y29uc2lkZXJhYmx5IChhbmQgd2hhdCBpcyB0aGF0PyBwZXJjZW50YWdlIG9mIHRoZSBwYXRjaD8K PiBzbWFsbCBhbW91bnQgb2YgdGhlIHBhdGNoPyBUcml2aWFsIGNoYW5nZXM/IERyb3BwaW5nIGNv ZGU/KT8KCkluZGVlZCwgdGhhdCdzIHRoZSBhc3BlY3RzIHRoYXQgbWF0dGVyOiBfQW55XyBub24t dHJpdmlhbCBjaGFuZ2UKdG8gdGhlIGFyZWEgYSB0YWcgd2FzIG9mZmVyZWQgb2Ygc2hvdWxkIGxl YWQgdG8gdGhlIHRhZyBnZXR0aW5nCmRyb3BwZWQuIFRoYXQgaXMsIGlmIHlvdSBtYWtlIHN1YnN0 YW50aWFsIGNoYW5nZXMgdG8gZS5nLiBub24tWFNNCnBhcnRzIGJ1dCBoYXZlIGFuIFhTTSBhY2ss IHRoYXQgY2FuIG9mIGNvdXJzZSBzdGF5LgoKQW1vbmcgdGhlIGFib3ZlLCB0aGUgb2J2aW91c2x5 ICh0byBtZSkgbm9uLXRyaXZpYWwgY2hhbmdlcyBhcmUKdGhlIG9yZGVyaW5nIGFkanVzdG1lbnQg b2YgYWxsb2NhdGlvbiB2cyBsb2NraW5nLgoKPj4gPiArc3RhdGljIGludCBnZXRfbmFtZShjb25z dCB4ZW5feHNwbGljZV9uYW1lX3QgKm5hbWUsIGNoYXIgKm4pCj4+ID4gK3sKPj4gPiArICAgIGlm ICggIW5hbWUtPnNpemUgfHwgbmFtZS0+c2l6ZSA+IFhFTl9YU1BMSUNFX05BTUVfU0laRSApCj4+ ID4gKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4+ID4gKwo+PiA+ICsgICAgaWYgKCBuYW1lLT5w YWRbMF0gfHwgbmFtZS0+cGFkWzFdIHx8IG5hbWUtPnBhZFsyXSApCj4+ID4gKyAgICAgICAgcmV0 dXJuIC1FSU5WQUw7Cj4+ID4gKwo+PiA+ICsgICAgaWYgKCAhZ3Vlc3RfaGFuZGxlX29rYXkobmFt ZS0+bmFtZSwgbmFtZS0+c2l6ZSkgKQo+PiA+ICsgICAgICAgIHJldHVybiAtRUlOVkFMOwo+PiA+ ICsKPj4gPiArICAgIGlmICggX19jb3B5X2Zyb21fZ3Vlc3QobiwgbmFtZS0+bmFtZSwgbmFtZS0+ c2l6ZSkgKQo+PiA+ICsgICAgICAgIHJldHVybiAtRUZBVUxUOwo+PiAKPj4gUXVvdGluZyBwYXJ0 IG9mIG15IHY4LjEgcmVwbHk6Cj4+ICJJcyB0aGVyZSBhIHBhcnRpY3VsYXIgcmVhc29uIHdoeSB5 b3Ugb3BlbiBjb2RlIGNvcHlfZnJvbV9ndWVzdCgpIGhlcmU/Igo+IAo+IFlvdSBtZWFuIHdoeSBJ IHVzZSBndWVzdF9oYW5kbGVfb2theSBhbmQgX19jb3B5X2Zyb21fZ3Vlc3QgaW5zdGVhZCBvZgo+ IHNheSBjb3B5X2Zyb21fZ3Vlc3Q/Cj4gCj4gSSB0aGluayBpdCBpcyBhbiBhcnRpZmljYXQgb2Yg ZWFybGllciBjaGFuZ2VzIC0gaW4gd2hpY2ggdGhlIGZpbmRfbmFtZQo+IHdvdWxkIG9ubHkgY2hl Y2sgJ25hbWUtc2l6ZScgYW5kIHRoZW4gaW4gYW5vdGhlciBmdW5jdGlvbiB3ZSB3b3VsZAo+IGp1 c3QgZG8gJ19fY29weV9mcm9tX2d1ZXN0Jy4gQnV0IHRoYXQgaXMgbm90IG5lZWRlZCBhbnltb3Jl IC0gc28gbGV0Cj4gbWUgY2hhbmdlIGl0IHRvICdjb3B5X2Zyb21fZ3Vlc3QnCgpSaWdodCwgYnV0 IHRoYXQgY2hhbmdlIGRpZG4ndCBoYXBwZW4uCgo+IEkgdGhvdWdodCBhdCBzb21lIHBvaW50IHlv dSBhc2tlZCBmb3IgdGhhdCBhcyB0aGUgY2hlY2sgd2FzIGRvbmUgZm9yCj4gaXQgb25jZSBhbmQg dGhlcmUgd2FzIG5vIHBvaW50CgpUaGlzIG1heSB3ZWxsIGhhdmUgYmVlbiBpbiBzb21lIG11Y2gg ZWFybGllciB2ZXJzaW9uLCB3aGVyZSB0aGUKdHdvIGxpdmVkIGluIGRpZmZlcmVudCBwbGFjZXMu IEJ1dCB3aGVuIHRoZXkncmUgdG9nZXRoZXIsIHRoZXkKY2xlYXJseSBzaG91bGQgYmUgZm9sZGVk IGJhY2suCgo+PiA+ICtzdGF0aWMgaW50IHhzcGxpY2VfdXBsb2FkKHhlbl9zeXNjdGxfeHNwbGlj ZV91cGxvYWRfdCAqdXBsb2FkKQo+PiA+ICt7Cj4+ID4gKyAgICBzdHJ1Y3QgcGF5bG9hZCAqZGF0 YSwgKmZvdW5kOwo+PiA+ICsgICAgY2hhciBuW1hFTl9YU1BMSUNFX05BTUVfU0laRV07Cj4+ID4g KyAgICBpbnQgcmM7Cj4+ID4gKwo+PiA+ICsgICAgcmMgPSB2ZXJpZnlfcGF5bG9hZCh1cGxvYWQs IG4pOwo+PiA+ICsgICAgaWYgKCByYyApCj4+ID4gKyAgICAgICAgcmV0dXJuIHJjOwo+PiA+ICsK Pj4gPiArICAgIGRhdGEgPSB4emFsbG9jKHN0cnVjdCBwYXlsb2FkKTsKPj4gPiArCj4+ID4gKyAg ICBzcGluX2xvY2soJnBheWxvYWRfbG9jayk7Cj4+ID4gKwo+PiA+ICsgICAgZm91bmQgPSBmaW5k X3BheWxvYWQobik7Cj4+ID4gKyAgICBpZiAoIElTX0VSUihmb3VuZCkgKQo+PiA+ICsgICAgewo+ PiA+ICsgICAgICAgIHJjID0gUFRSX0VSUihmb3VuZCk7Cj4+ID4gKyAgICAgICAgZ290byBvdXQ7 Cj4+ID4gKyAgICB9Cj4+ID4gKyAgICBlbHNlIGlmICggZm91bmQgKQo+PiA+ICsgICAgewo+PiA+ ICsgICAgICAgIHJjID0gLUVFWElTVDsKPj4gPiArICAgICAgICBnb3RvIG91dDsKPj4gPiArICAg IH0KPj4gPiArCj4+ID4gKyAgICBpZiAoICFkYXRhICkKPj4gPiArICAgIHsKPj4gPiArICAgICAg ICByYyA9IC1FTk9NRU07Cj4+ID4gKyAgICAgICAgZ290byBvdXQ7Cj4+ID4gKyAgICB9Cj4+ID4g Kwo+PiA+ICsgICAgcmMgPSAwOwo+PiAKPj4gcmMgaXMgYWxyZWFkeSB6ZXJvIGJ5IHRoZSB0aW1l IHdlIGdldCBoZXJlLgo+PiAKPj4gSSBhbHNvIHdvbmRlciB3aGV0aGVyIHRoZSBjb2RlIHdvdWxk bid0IGJlIGVhc2llciB0byByZWFkIGlmIHlvdQo+PiB1c2VkIGp1c3QgYSBzZXF1ZW5jZSBvZiBp ZigpL2Vsc2UgaWYoKSBoZXJlLCB3aXRob3V0IGFueSBnb3RvLXMuCj4gCj4gQnV0IEkgZG8gbmVl ZCB0byBmcmVlKGRhdGEpIGFuZCB1bmxvY2sgdGhlIHNwaW5sb2NrIC0gc28gaGF2aW5nCj4gYSBj b21tb24gY29kZSB0byBwYXNzIHRocm91Z2ggbWFrZXMgc2Vuc2UuCj4gCj4gVW5sZXNzIHlvdSBt ZWFuIGhhdmUgYW4gY29uZGl0aW9uIG9uIGlmICggIXJjICksIGFuZCBkbyB0aGUgbm9ybWFsIHBh dGg/Cj4gTGlrZSBzbzoKPiAKPiAgICAgcmMgPSB2ZXJpZnlfcGF5bG9hZCh1cGxvYWQsIG4pOwo+ ICAgICBpZiAoIHJjICkKPiAgICAgICAgIHJldHVybiByYzsKPiAKPiAgICAgZGF0YSA9IHh6YWxs b2Moc3RydWN0IHBheWxvYWQpOwo+IAo+ICAgICBzcGluX2xvY2soJnBheWxvYWRfbG9jayk7Cj4g Cj4gICAgIGZvdW5kID0gZmluZF9wYXlsb2FkKG4pOwo+ICAgICBpZiAoIElTX0VSUihmb3VuZCkg KQo+ICAgICAgICAgcmMgPSBQVFJfRVJSKGZvdW5kKTsKPiAgICAgZWxzZSBpZiAoIGZvdW5kICkK PiAgICAgICAgIHJjID0gLUVFWElTVDsKPiAKPiAgICAgaWYgKCAhcmMgJiYgIWRhdGEgKQoKVGhp cyBjYW4ganVzdCBiZSAiZWxzZSBpZiAoICFkYXRhICkiIGFmYWljdC4KCj4gICAgICAgICByYyA9 IC1FTk9NRU07Cj4gCj4gICAgIGlmICggIXJjICkKCkFuZCB0aGlzIG9uZSB0aGVuIGp1c3QgImVs c2UiLgoKPiAgICAgewo+ICAgICAgICAgbWVtY3B5KGRhdGEtPm5hbWUsIG4sIHN0cmxlbihuKSk7 Cj4gICAgICAgICBkYXRhLT5zdGF0ZSA9IFhTUExJQ0VfU1RBVEVfQ0hFQ0tFRDsKPiAgICAgICAg IElOSVRfTElTVF9IRUFEKCZkYXRhLT5saXN0KTsKPiAKPiAgICAgICAgIGxpc3RfYWRkX3RhaWwo JmRhdGEtPmxpc3QsICZwYXlsb2FkX2xpc3QpOwo+ICAgICAgICAgcGF5bG9hZF9jbnQrKzsKPiAg ICAgICAgIHBheWxvYWRfdmVyc2lvbisrOwo+ICAgICB9Cj4gCj4gICAgIHNwaW5fdW5sb2NrKCZw YXlsb2FkX2xvY2spOwo+IAo+ICAgICBpZiAoIHJjICkKPiAgICAgICAgIHhmcmVlKGRhdGEpOwo+ IAo+ICAgICByZXR1cm4gcmM7Cj4gCj4gCj4gVGhhdCBsb29rcyBmaW5lIGhlcmUsIGJ1dCBpbiB0 aGUgc3Vic2VxdWVudCBwYXRjaCBJIGhhdmUgdG8gYWxzbwo+IGNoZWNrIGZvcgo+IAo+IGlmICgg X19jb3B5X2Zyb21fZ3Vlc3QocmF3X2RhdGEsIHVwbG9hZC0+cGF5bG9hZCwgdXBsb2FkLT5zaXpl KSApICAgICAgIAoKVGhpcyBjb3VsZCBlYXNpbHkgYmUgYW5vdGhlciAiZWxzZSBpZigpIiBpbiB0 aGUgY2hhaW4gb3V0bGluZWQgYWJvdmUuCgo+IGFuZAo+IHJjID0gbG9hZF9wYXlsb2FkX2RhdGEo ZGF0YSwgcmF3X2RhdGEsIHVwbG9hZC0+c2l6ZSk7CgpCdXQgSSBjYW4gc2VlIHRoYXQgdGhpcyBv bmUgd291bGQgYmUgYSBsaXR0bGUgbGVzcyBuZWF0IHRvIGludGVncmF0ZS4KCj4gYW5kIGdvdG8g c3RhdGVtZW50IGhlbHAgYSBsb3QgdGhlcmUuCj4gCj4gSSB3b3VsZCByYXRoZXIgaGF2ZSBpdCB0 aGUgd2F5IGl0IGlzIG5vdyBpZiB5b3UgYXJlIE9LIHdpdGggdGhhdD8KCkFzIEkgaGF2ZSB0cmll ZCB0byBleHByZXNzIGJ5IHNheWluZyAiSSBhbHNvIHdvbmRlciIsIGFuZCBhcyB0aGlzCmNsZWFy bHkgaXMgYSBtYXR0ZXIgb2YgdGFzdGUgdG8gc29tZSBkZWdyZWUsIEknbSBub3QgaW5zaXN0aW5n IG9uCnRoYXQgYWx0ZXJuYXRpdmUgY29kZSBmbG93LiBXaGF0IEknZCByZWFsbHkgbGlrZSB0byBh c2sgZm9yIGlzCmNvbnNpc3RlbmN5IHRob3VnaDogV2hpbGUgaW4gdGhlIHBhdGNoIGhlcmUgeW91 IHVzZQoKICAgIGlmICggLi4uICkKICAgIHsKICAgICAgICByYyA9IC4uLjsKICAgICAgICBnb3Rv IC4uLjsKICAgIH0KCnBhdGNoIDExIGludHJvZHVjZXMgYW4gaW5zdGFuY2Ugb2YgdGhlIGFsdGVy bmF0aXZlCgogICAgcmMgPSAtRS4uLjsKICAgIGlmICggLi4uICkKICAgICAgICBnb3RvIC4uLjsK ClNpbWlsYXJseSAoc2VlIGFib3ZlKSB5b3Ugc2hvdWxkIGFpbSBhdCBjb25zaXN0ZW5jeSBiZXR3 ZWVuCmlmL2Vsc2UtaWYgY2hhaW5zIG9yIGNoYWlucyBvZiBqdXN0IGlmLXMsIHdoZW4gZWFjaCBv ZiB0aGVtIGVuZHMgaW4gYW4KdW5jb25kaXRpb25hbCBnb3RvIChvciByZXR1cm4sIGNvbnRpbnVl LCBvciBicmVhaywgdGFraW5nIGEgbW9yZQpnZW5lcmFsIHBlcnNwZWN0aXZlKS4gTm90IG1peGlu ZyBzdHlsZXMgaGVscHMgYXZvaWQgKHBvc3NpYmx5IHNpbGVudCkKcXVlc3Rpb25zIGJ5IHJlYWRl cnMgYWxvbmcgdGhlIGxpbmVzIG9mICJJcyB0aGVyZSBhIHJlYXNvbiBpdCdzIGRvbmUKb25lIHdh eSBoZXJlIGFuZCBhbm90aGVyIHdheSBhIGZldyBsaW5lcyBkb3duPyIKCkphbgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcg bGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2 ZWwK