From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: Re: [PATCH v3 1/2] Interface for grant copy operation in libs. Date: Wed, 22 Jun 2016 14:29:18 +0100 Message-ID: <20160622132918.GD1790@citrix.com> References: <1466584733-19459-1-git-send-email-paulinaszubarczyk@gmail.com> <1466584733-19459-2-git-send-email-paulinaszubarczyk@gmail.com> <576A5C54.7000601@citrix.com> <20160622112118.GB1790@citrix.com> <576A869E.6090400@citrix.com> 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 1bFiDa-0002vo-Oz for xen-devel@lists.xenproject.org; Wed, 22 Jun 2016 13:29:22 +0000 Content-Disposition: inline In-Reply-To: <576A869E.6090400@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: David Vrabel Cc: sstabellini@kernel.org, Wei Liu , ian.jackson@eu.citrix.com, Paulina Szubarczyk , anthony.perard@citrix.com, xen-devel@lists.xenproject.org, roger.pau@citrix.com List-Id: xen-devel@lists.xenproject.org T24gV2VkLCBKdW4gMjIsIDIwMTYgYXQgMDE6Mzc6NTBQTSArMDEwMCwgRGF2aWQgVnJhYmVsIHdy b3RlOgo+IE9uIDIyLzA2LzE2IDEyOjIxLCBXZWkgTGl1IHdyb3RlOgo+ID4gT24gV2VkLCBKdW4g MjIsIDIwMTYgYXQgMTA6Mzc6MjRBTSArMDEwMCwgRGF2aWQgVnJhYmVsIHdyb3RlOgo+ID4+IE9u IDIyLzA2LzE2IDA5OjM4LCBQYXVsaW5hIFN6dWJhcmN6eWsgd3JvdGU6Cj4gPj4+IEluIGEgbGlu dXggcGFydCBhbiBpb2N0bChnbnRkZXYsIElPQ1RMX0dOVERFVl9HUkFOVF9DT1BZLCAuLikKPiA+ Pj4gc3lzdGVtIGNhbGwgaXMgaW52b2tlZC4gSW4gbWluaS1vcyB0aGUgb3BlcmF0aW9uIGlzIHll dCBub3QKPiA+Pj4gaW1wbGVtZW50ZWQuIEZvciBvdGhlciBPU3MgdGhlcmUgaXMgYSBkdW1teSBp bXBsZW1lbnRhdGlvbi4KPiA+PiBbLi4uXQo+ID4+PiAtLS0gYS90b29scy9saWJzL2dudHRhYi9s aW51eC5jCj4gPj4+ICsrKyBiL3Rvb2xzL2xpYnMvZ250dGFiL2xpbnV4LmMKPiA+Pj4gQEAgLTIz NSw2ICsyMzUsNTEgQEAgaW50IG9zZGVwX2dudHRhYl91bm1hcCh4ZW5nbnR0YWJfaGFuZGxlICp4 Z3QsCj4gPj4+ICAgICAgcmV0dXJuIDA7Cj4gPj4+ICB9Cj4gPj4+ICAKPiA+Pj4gK2ludCBvc2Rl cF9nbnR0YWJfZ3JhbnRfY29weSh4ZW5nbnR0YWJfaGFuZGxlICp4Z3QsCj4gPj4+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY291bnQsCj4gPj4+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgeGVuZ250dGFiX2dyYW50X2NvcHlfc2VnbWVudF90ICpzZWdzKQo+ID4+ PiArewo+ID4+PiArICAgIGludCBpLCByYzsKPiA+Pj4gKyAgICBpbnQgZmQgPSB4Z3QtPmZkOwo+ ID4+PiArICAgIHN0cnVjdCBpb2N0bF9nbnRkZXZfZ3JhbnRfY29weSBjb3B5Owo+ID4+PiArCj4g Pj4+ICsgICAgY29weS5zZWdtZW50cyA9IGNhbGxvYyhjb3VudCwgc2l6ZW9mKHN0cnVjdCBpb2N0 bF9nbnRkZXZfZ3JhbnRfY29weV9zZWdtZW50KSk7Cj4gPj4+ICsgICAgY29weS5jb3VudCA9IGNv dW50Owo+ID4+PiArICAgIGZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKQo+ID4+PiArICAgIHsK PiA+Pj4gKyAgICAgICAgY29weS5zZWdtZW50c1tpXS5mbGFncyA9IHNlZ3NbaV0uZmxhZ3M7Cj4g Pj4+ICsgICAgICAgIGNvcHkuc2VnbWVudHNbaV0ubGVuID0gc2Vnc1tpXS5sZW47Cj4gPj4+ICsg ICAgICAgIGlmIChzZWdzW2ldLmZsYWdzID09IEdOVENPUFlfZGVzdF9ncmVmKSAKPiA+Pj4gKyAg ICAgICAgewo+ID4+PiArICAgICAgICAgICAgY29weS5zZWdtZW50c1tpXS5kZXN0LmZvcmVpZ24u cmVmID0gc2Vnc1tpXS5kZXN0LmZvcmVpZ24ucmVmOwo+ID4+PiArICAgICAgICAgICAgY29weS5z ZWdtZW50c1tpXS5kZXN0LmZvcmVpZ24uZG9taWQgPSBzZWdzW2ldLmRlc3QuZm9yZWlnbi5kb21p ZDsKPiA+Pj4gKyAgICAgICAgICAgIGNvcHkuc2VnbWVudHNbaV0uZGVzdC5mb3JlaWduLm9mZnNl dCA9IHNlZ3NbaV0uZGVzdC5mb3JlaWduLm9mZnNldDsKPiA+Pj4gKyAgICAgICAgICAgIGNvcHku c2VnbWVudHNbaV0uc291cmNlLnZpcnQgPSBzZWdzW2ldLnNvdXJjZS52aXJ0Owo+ID4+PiArICAg ICAgICB9IAo+ID4+PiArICAgICAgICBlbHNlIAo+ID4+PiArICAgICAgICB7Cj4gPj4+ICsgICAg ICAgICAgICBjb3B5LnNlZ21lbnRzW2ldLnNvdXJjZS5mb3JlaWduLnJlZiA9IHNlZ3NbaV0uc291 cmNlLmZvcmVpZ24ucmVmOwo+ID4+PiArICAgICAgICAgICAgY29weS5zZWdtZW50c1tpXS5zb3Vy Y2UuZm9yZWlnbi5kb21pZCA9IHNlZ3NbaV0uc291cmNlLmZvcmVpZ24uZG9taWQ7Cj4gPj4+ICsg ICAgICAgICAgICBjb3B5LnNlZ21lbnRzW2ldLnNvdXJjZS5mb3JlaWduLm9mZnNldCA9IHNlZ3Nb aV0uc291cmNlLmZvcmVpZ24ub2Zmc2V0Owo+ID4+PiArICAgICAgICAgICAgY29weS5zZWdtZW50 c1tpXS5kZXN0LnZpcnQgPSBzZWdzW2ldLmRlc3QudmlydDsKPiA+Pj4gKyAgICAgICAgfQo+ID4+ PiArICAgIH0KPiA+Pj4gKwo+ID4+PiArICAgIHJjID0gaW9jdGwoZmQsIElPQ1RMX0dOVERFVl9H UkFOVF9DT1BZLCAmY29weSk7Cj4gPj4+ICsgICAgaWYgKHJjKSAKPiA+Pj4gKyAgICB7Cj4gPj4+ ICsgICAgICAgIEdURVJST1IoeGd0LT5sb2dnZXIsICJpb2N0bCBHUkFOVCBDT1BZIGZhaWxlZCAl ZCAiLCBlcnJubyk7Cj4gPj4+ICsgICAgfQo+ID4+PiArICAgIGVsc2UgCj4gPj4+ICsgICAgewo+ ID4+PiArICAgICAgICBmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykKPiA+Pj4gKyAgICAgICAg ICAgIHNlZ3NbaV0uc3RhdHVzID0gY29weS5zZWdtZW50c1tpXS5zdGF0dXM7Cj4gPj4+ICsgICAg fQo+ID4+PiArCj4gPj4+ICsgICAgZnJlZShjb3B5LnNlZ21lbnRzKTsKPiA+Pj4gKyAgICByZXR1 cm4gcmM7Cj4gPj4+ICt9Cj4gPj4KPiA+PiBJIGtub3cgV2VpIGFza2VkIGZvciB0aGlzIGJ1dCB5 b3UndmUgcmVwbGFjZWQgd2hhdCBzaG91bGQgYmUgYSBzaW5nbGUKPiA+PiBwb2ludGVyIGFzc2ln bm1lbnQgd2l0aCBhIG1lbW9yeSBhbGxvY2F0aW9uIGFuZCB0d28gbG9vcHMgb3ZlciBhbGwgdGhl Cj4gPj4gc2VnbWVudHMuCj4gPj4KPiA+PiBUaGlzIGlzIGEgaG90IHBhdGggYW5kIHRoZSB0d28g c3RydWN0dXJlcyAodGhlIGxpYnhlbmdudHRhYiBvbmUgYW5kIHRoZQo+ID4+IExpbnV4IGtlcm5l bCBvbmUpIGFyZSBib3RoIHBhcnQgb2YgdGhlaXIgcmVzcGVjdGl2ZSBBQklzIGFuZCB3b24ndAo+ ID4+IGNoYW5nZSBzbyBXZWkncyBjb25jZXJuIHRoYXQgdGhleSBtaWdodCBjaGFuZ2UgaW4gdGhl IGZ1dHVyZSBpcyB1bmZvdW5kZWQuCj4gPj4KPiA+IAo+ID4gVGhlIGZ1bmRhbWVudGFsIHF1ZXN0 aW9uIGlzOiB3aWxsIHRoZSBBQkkgYmV0d2VlbiB0aGUgbGlicmFyeSBhbmQgdGhlCj4gPiBrZXJu ZWwgZXZlciBnbyBtaXNtYXRjaD8KPiA+IAo+ID4gTXkgYW5zd2VyIGlzICJtYXliZSIuICBNeSBy YXRpb25hbGUgaXMgdGhhdCBldmVyeXRoaW5nIGdvZXMgYWNyb3NzCj4gPiBib3VuZGFyeSBvZiBj b21wb25lbnRzIG5lZWQgdG8gYmUgY29uc2lkZXJlZCB3aXRoIGNhdXRpb24uIEFuZCBJIHRlbmQg dG8KPiA+IGFzc3VtZSB0aGUgd29yc3QgdGhpbmdzIHdpbGwgaGFwcGVuLgo+ID4gCj4gPiBUbyBn dWFyYW50ZWUgdGhhdCB0aGV5IHdpbGwgbmV2ZXIgZ28gbWlzbWF0Y2ggaXMgdG8gaGF2ZQo+ID4g Cj4gPiAgICB0eXBlZGVmIGlvY3RsX2dudGRldl9ncmFudF9jb3B5X3NlZ21lbnQgeGVuZ250dGFi X2dyYW50X2NvcHlfc2VnbWVudF90Owo+ID4gCj4gPiBCdXQgdGhhdCdzIG5vdCBob3cgdGhlIGNv ZGUgaXMgd3JpdHRlbi4KPiA+IAo+ID4gSSB3b3VsZCBsaWtlIHRvIGhlYXIgYSB0aGlyZCBvcGlu aW9uLiBJcyBteSBjb25jZXJuIHVuZm91bmRlZD8gQW0gSSB0b28KPiA+IGNhdXRpb3VzPyBJcyB0 aGVyZSBhbnkgY29tcGVsbGluZyBhcmd1bWVudCB0aGF0IEkgbWlzc2VkPwo+ID4gCj4gPiBTb21l d2hhdCByZWxhdGVkLCBjYW4gd2UgaGF2ZSBzb21lIG51bWJlcnMgcGxlYXNlPyBJdCBjb3VsZCB3 ZWxsIGJlIHRoZQo+ID4gY29zdCBvZiB0aGUgdHdvIGxvb3BzIGlzIG11Y2ggY2hlYXBlciB0aGFu IHdoYXRldmVyIGlzIGdvaW5nIG9uIGluc2lkZQo+ID4gdGhlIGtlcm5lbCAvIGh5cGVydmlzb3Iu IEFuZCBpdCBjb3VsZCB0dXJuIG91dCB0aGF0IHRoZSBudW1iZXJzIHJlbmRlcgo+ID4gdGhpcyBp c3N1ZSBtb290Lgo+IAo+IEkgZGlkIHNvbWUgKHZlcnkpIGFkaG9jIG1lYXN1cmVtZW50cyBhbmQg d2l0aCB0aGUgd29yc3QgY2FzZSBvZiBzaW5nbGUKPiBzaG9ydCBzZWdtZW50cyBmb3IgZWFjaCBp b2N0bCwgdGhlIG9wdGltaXplZCB2ZXJzaW9uIG9mCj4gb3NkZXBfZ250dGFiX2dyYW50X2NvcHko KSBsb29rcyB0byBiZSB+NSUgZmFzdGVyLgo+IAo+IFRoaXMgaXMgZW5vdWdoIG9mIGEgZGlmZmVy ZW5jZSB0aGF0IHdlIHNob3VsZCB1c2UgdGhlIG9wdGltaXplZCB2ZXJzaW9uLgo+IAo+IFRoZSB1 bm9wdGltaXplZCB2ZXJzaW9uIGFsc28gYWRkcyBhbiBhZGRpdGlvbmFsIGZhaWx1cmUgcGF0aCAo dGhlCj4gY2FsbG9jKSB3aGljaCB3b3VsZCBiZSBiZXN0IGF2b2lkZWQuCj4gCgpZb3VyIHRlc3Qg Y2FzZSBpbmNsdWRlcyBhIGxvdCBvZiAgbm9pc2UgaW4gbGliYyBhbGxvY2F0b3IsIHNvLi4uCgpD YW4geW91IGdpdmUgdHJ5IHRoZSBmb2xsb3dpbmcgcGF0Y2ggKGFwcGx5IG9uIHRvcCBvZiBQYXVs aW5hJ3MgcGF0Y2gpPwpUaGUgYmFzaWMgaWRlYSBpcyB0byBwcm92aWRlIHNjcmF0Y2ggc3BhY2Ug Zm9yIHRoZSBzdHJ1Y3R1cmVzLiBOb3RlLCB0aGUKcGF0Y2ggaXMgY29tcGlsZSB0ZXN0IG9ubHku CgotLS04PC0tLQpGcm9tIGU3MmMxYWJiOTg1MmY0MGRiNWVlZWU0OGVmMjA4NDkyYzMyODM4ODQg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5j b20+CkRhdGU6IFdlZCwgMjIgSnVuIDIwMTYgMTQ6MjI6NDggKzAxMDAKU3ViamVjdDogW1BBVENI XSB4ZW5nbnR0YWI6IHByb3ZpZGUgb3NkZXAgY2FjaGUgYW5kIHVzZSBpdCBpbiBMaW51eCBncmFu dCBjb3B5CgpTaWduZWQtb2ZmLWJ5OiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgotLS0K IHRvb2xzL2xpYnMvZ250dGFiL2xpbnV4LmMgICB8IDM1ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrLS0tLS0tCiB0b29scy9saWJzL2dudHRhYi9wcml2YXRlLmggfCAgMiArKwogMiBmaWxl cyBjaGFuZ2VkLCAzMSBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L3Rvb2xzL2xpYnMvZ250dGFiL2xpbnV4LmMgYi90b29scy9saWJzL2dudHRhYi9saW51eC5jCmlu ZGV4IDYyYWQ3YmQuLjE3ZDRkMjkgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnMvZ250dGFiL2xpbnV4 LmMKKysrIGIvdG9vbHMvbGlicy9nbnR0YWIvbGludXguYwpAQCAtNDcsMTMgKzQ3LDI4IEBACiAj ZGVmaW5lIE9fQ0xPRVhFQyAwCiAjZW5kaWYKIAorI2RlZmluZSBDT1BZX1NFR01FTlRfQ0FDSEVf U0laRSAxMDI0CisKIGludCBvc2RlcF9nbnR0YWJfb3Blbih4ZW5nbnR0YWJfaGFuZGxlICp4Z3Qp CiB7Ci0gICAgaW50IGZkID0gb3BlbihERVZYRU4gImdudGRldiIsIE9fUkRXUnxPX0NMT0VYRUMp OwotICAgIGlmICggZmQgPT0gLTEgKQotICAgICAgICByZXR1cm4gLTE7Ci0gICAgeGd0LT5mZCA9 IGZkOworICAgIHNpemVfdCBzID0gQ09QWV9TRUdNRU5UX0NBQ0hFX1NJWkUgKgorICAgICAgICBz aXplb2Yoc3RydWN0IGlvY3RsX2dudGRldl9ncmFudF9jb3B5X3NlZ21lbnQpOworCisgICAgeGd0 LT5mZCA9IG9wZW4oREVWWEVOICJnbnRkZXYiLCBPX1JEV1J8T19DTE9FWEVDKTsKKyAgICBpZiAo eGd0LT5mZCA9PSAtMSkgZ290byBlcnI7CisKKyAgICB4Z3QtPm9zZGVwX2RhdGEgPSBtYWxsb2Mo cyk7CisgICAgaWYgKCF4Z3QtPm9zZGVwX2RhdGEpIGdvdG8gZXJyOworICAgIHhndC0+b3NkZXBf ZGF0YV9zaXplID0gczsKKwogICAgIHJldHVybiAwOworZXJyOgorICAgIGlmICh4Z3QtPmZkICE9 IC0xKSB7CisgICAgICAgIGNsb3NlKHhndC0+ZmQpOworICAgICAgICB4Z3QtPmZkID0gLTE7Cisg ICAgfQorCisgICAgcmV0dXJuIC0xOwogfQogCiBpbnQgb3NkZXBfZ250dGFiX2Nsb3NlKHhlbmdu dHRhYl9oYW5kbGUgKnhndCkKQEAgLTYxLDYgKzc2LDEwIEBAIGludCBvc2RlcF9nbnR0YWJfY2xv c2UoeGVuZ250dGFiX2hhbmRsZSAqeGd0KQogICAgIGlmICggeGd0LT5mZCA9PSAtMSApCiAgICAg ICAgIHJldHVybiAwOwogCisgICAgZnJlZSh4Z3QtPm9zZGVwX2RhdGEpOworICAgIHhndC0+b3Nk ZXBfZGF0YSA9IE5VTEw7CisgICAgeGd0LT5vc2RlcF9kYXRhX3NpemUgPSAwOworCiAgICAgcmV0 dXJuIGNsb3NlKHhndC0+ZmQpOwogfQogCkBAIC0yNDMsNyArMjYyLDEyIEBAIGludCBvc2RlcF9n bnR0YWJfZ3JhbnRfY29weSh4ZW5nbnR0YWJfaGFuZGxlICp4Z3QsCiAgICAgaW50IGZkID0geGd0 LT5mZDsKICAgICBzdHJ1Y3QgaW9jdGxfZ250ZGV2X2dyYW50X2NvcHkgY29weTsKIAotICAgIGNv cHkuc2VnbWVudHMgPSBjYWxsb2MoY291bnQsIHNpemVvZihzdHJ1Y3QgaW9jdGxfZ250ZGV2X2dy YW50X2NvcHlfc2VnbWVudCkpOworICAgIGlmIChjb3VudCA+IENPUFlfU0VHTUVOVF9DQUNIRV9T SVpFKSB7CisgICAgICAgIGVycm5vID0gRTJCSUc7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9 CisKKyAgICBjb3B5LnNlZ21lbnRzID0geGd0LT5vc2RlcF9kYXRhOwogICAgIGNvcHkuY291bnQg PSBjb3VudDsKICAgICBmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykKICAgICB7CkBAIC0yNzYs NyArMzAwLDYgQEAgaW50IG9zZGVwX2dudHRhYl9ncmFudF9jb3B5KHhlbmdudHRhYl9oYW5kbGUg KnhndCwKICAgICAgICAgICAgIHNlZ3NbaV0uc3RhdHVzID0gY29weS5zZWdtZW50c1tpXS5zdGF0 dXM7CiAgICAgfQogCi0gICAgZnJlZShjb3B5LnNlZ21lbnRzKTsKICAgICByZXR1cm4gcmM7CiB9 CiAKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvZ250dGFiL3ByaXZhdGUuaCBiL3Rvb2xzL2xpYnMv Z250dGFiL3ByaXZhdGUuaAppbmRleCBkNmM1NTk0Li5lOTlhODBkIDEwMDY0NAotLS0gYS90b29s cy9saWJzL2dudHRhYi9wcml2YXRlLmgKKysrIGIvdG9vbHMvbGlicy9nbnR0YWIvcHJpdmF0ZS5o CkBAIC03LDYgKzcsOCBAQAogc3RydWN0IHhlbmdudGRldl9oYW5kbGUgewogICAgIHhlbnRvb2xs b2dfbG9nZ2VyICpsb2dnZXIsICpsb2dnZXJfdG9mcmVlOwogICAgIGludCBmZDsKKyAgICB2b2lk ICpvc2RlcF9kYXRhOyAgICAgICAgICAgICAgLyogb3NkZXAgcHJpdmF0ZSBkYXRhICovCisgICAg c2l6ZV90IG9zZGVwX2RhdGFfc2l6ZTsgICAgICAgIC8qIG9zZGVwIHByaXZhdGUgZGF0YSBzaXpl ICovCiB9OwogCiBpbnQgb3NkZXBfZ250dGFiX29wZW4oeGVuZ250dGFiX2hhbmRsZSAqeGd0KTsK LS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8v bGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK