From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: Re: [PATCH v7 12/16] xen: delay allocation of grant table sub structures Date: Tue, 19 Sep 2017 10:28:16 +0000 Message-ID: References: <20170919095852.15785-1-jgross@suse.com> <20170919095852.15785-13-jgross@suse.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 1duFlN-0005XF-3O for xen-devel@lists.xenproject.org; Tue, 19 Sep 2017 10:28:21 +0000 In-Reply-To: <20170919095852.15785-13-jgross@suse.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: 'Juergen Gross' , "xen-devel@lists.xenproject.org" Cc: "sstabellini@kernel.org" , Wei Liu , Andrew Cooper , "Tim (Xen.org)" , George Dunlap , "julien.grall@arm.com" , "jbeulich@suse.com" , Ian Jackson , "dgdegra@tycho.nsa.gov" List-Id: xen-devel@lists.xenproject.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBYZW4tZGV2ZWwgW21haWx0bzp4 ZW4tZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW4ub3JnXSBPbiBCZWhhbGYgT2YNCj4gSnVlcmdlbiBH cm9zcw0KPiBTZW50OiAxOSBTZXB0ZW1iZXIgMjAxNyAxMDo1OQ0KPiBUbzogeGVuLWRldmVsQGxp c3RzLnhlbnByb2plY3Qub3JnDQo+IENjOiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+ OyBzc3RhYmVsbGluaUBrZXJuZWwub3JnOyBXZWkgTGl1DQo+IDx3ZWkubGl1MkBjaXRyaXguY29t PjsgR2VvcmdlIER1bmxhcCA8R2VvcmdlLkR1bmxhcEBjaXRyaXguY29tPjsNCj4gQW5kcmV3IENv b3BlciA8QW5kcmV3LkNvb3BlcjNAY2l0cml4LmNvbT47IElhbiBKYWNrc29uDQo+IDxJYW4uSmFj a3NvbkBjaXRyaXguY29tPjsgVGltIChYZW4ub3JnKSA8dGltQHhlbi5vcmc+Ow0KPiBqdWxpZW4u Z3JhbGxAYXJtLmNvbTsgamJldWxpY2hAc3VzZS5jb207IGRnZGVncmFAdHljaG8ubnNhLmdvdg0K PiBTdWJqZWN0OiBbWGVuLWRldmVsXSBbUEFUQ0ggdjcgMTIvMTZdIHhlbjogZGVsYXkgYWxsb2Nh dGlvbiBvZiBncmFudCB0YWJsZQ0KPiBzdWIgc3RydWN0dXJlcw0KPiANCj4gRGVsYXkgdGhlIGFs bG9jYXRpb24gb2YgdGhlIGdyYW50IHRhYmxlIHN1YiBzdHJ1Y3R1cmVzIGluIG9yZGVyIHRvDQo+ IGFsbG93IG1vZGlmeWluZyBwYXJhbWV0ZXJzIG5lZWRlZCBmb3Igc2l6aW5nIG9mIHRoZXNlIHN0 cnVjdHVyZXMgYXQgYQ0KPiBwZXIgZG9tYWluIGJhc2lzLiBBbGxvY2F0ZSB0aGUgc3RydWN0dXJl cyBmcm9tIGdudHRhYl9zZXR1cF90YWJsZSgpDQo+IGFuZCB0aGUgdGFibGUgZnJhbWVzIG9ubHkg ZnJvbSBnbnR0YWJfZ3Jvd190YWJsZSgpLg0KDQpJcyB0aGlzIGxhc3Qgc2VudGVuY2Ugc3RpbGwg Y29ycmVjdD8NCg0KICBQYXVsDQoNCj4gDQo+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3Mg PGpncm9zc0BzdXNlLmNvbT4NCj4gLS0tDQo+IFY2Og0KPiAtIG1vdmUgY2FsbCBvZiBncmFudF90 YWJsZV9pbml0KCkgZm9yIGRvbTAgdG8gZ3JhbnRfdGFibGVfY3JlYXRlKCkNCj4gICAoSmFuIEJl dWxpY2gpDQo+IC0gbW92ZSBmcmFtZSBhbGxvY2F0aW9ucyB0byBnbnR0YWJfZ3Jvd190YWJsZSgp IChKYW4gQmV1bGljaCkNCj4gLSBzZXZlcmFsIG90aGVyIGNoYW5nZXMgZHVlIHRvIG5ldyBwYXRj aCBvcmRlcg0KPiANCj4gVjQ6DQo+IC0gbWFrZSByZXQgbW9yZSBsb2NhbCAoV2VpIExpdSkNCj4g DQo+IFYzOg0KPiAtIG1vdmUgY2FsbCBvZiBncmFudF90YWJsZV9pbml0KCkgZnJvbSBnbnR0YWJf c2V0dXBfdGFibGUoKSB0bw0KPiAgIGdudHRhYl9ncm93X3RhYmxlKCkgKFBhdWwgRHVycmFudCkN Cj4gLS0tDQo+ICB4ZW4vY29tbW9uL2dyYW50X3RhYmxlLmMgfCAxMTMgKysrKysrKysrKysrKysr KysrKysrKy0tLS0tLS0tLS0tLS0tLS0NCj4gLS0tLS0tLS0tDQo+ICAxIGZpbGUgY2hhbmdlZCwg NTIgaW5zZXJ0aW9ucygrKSwgNjEgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEveGVu L2NvbW1vbi9ncmFudF90YWJsZS5jIGIveGVuL2NvbW1vbi9ncmFudF90YWJsZS5jDQo+IGluZGV4 IGY0OGVlZmY3YWQuLmY2Njk0MDU1MWUgMTAwNjQ0DQo+IC0tLSBhL3hlbi9jb21tb24vZ3JhbnRf dGFibGUuYw0KPiArKysgYi94ZW4vY29tbW9uL2dyYW50X3RhYmxlLmMNCj4gQEAgLTE2NTUsNiAr MTY1NSw0NiBAQCBnbnR0YWJfdW5wb3B1bGF0ZV9zdGF0dXNfZnJhbWVzKHN0cnVjdCBkb21haW4N Cj4gKmQsIHN0cnVjdCBncmFudF90YWJsZSAqZ3QpDQo+ICAgICAgZ3QtPm5yX3N0YXR1c19mcmFt ZXMgPSAwOw0KPiAgfQ0KPiANCj4gK3N0YXRpYyBpbnQNCj4gK2dyYW50X3RhYmxlX2luaXQoc3Ry dWN0IGdyYW50X3RhYmxlICpndCkNCj4gK3sNCj4gKyAgICBpZiAoIGd0LT5hY3RpdmUgKQ0KPiAr ICAgICAgICByZXR1cm4gLUVCVVNZOw0KPiArDQo+ICsgICAgLyogQWN0aXZlIGdyYW50IHRhYmxl LiAqLw0KPiArICAgIGd0LT5hY3RpdmUgPSB4emFsbG9jX2FycmF5KHN0cnVjdCBhY3RpdmVfZ3Jh bnRfZW50cnkgKiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhfbnJfYWN0 aXZlX2dyYW50X2ZyYW1lcyk7DQo+ICsgICAgaWYgKCBndC0+YWN0aXZlID09IE5VTEwgKQ0KPiAr ICAgICAgICBnb3RvIG5vX21lbTsNCj4gKw0KPiArICAgIC8qIFRyYWNraW5nIG9mIG1hcHBlZCBm b3JlaWduIGZyYW1lcyB0YWJsZSAqLw0KPiArICAgIGd0LT5tYXB0cmFjayA9IHZ6YWxsb2MobWF4 X21hcHRyYWNrX2ZyYW1lcyAqIHNpemVvZigqZ3QtPm1hcHRyYWNrKSk7DQo+ICsgICAgaWYgKCBn dC0+bWFwdHJhY2sgPT0gTlVMTCApDQo+ICsgICAgICAgIGdvdG8gbm9fbWVtOw0KPiArDQo+ICsg ICAgLyogU2hhcmVkIGdyYW50IHRhYmxlLiAqLw0KPiArICAgIGd0LT5zaGFyZWRfcmF3ID0geHph bGxvY19hcnJheSh2b2lkICosIG1heF9ncmFudF9mcmFtZXMpOw0KPiArICAgIGlmICggZ3QtPnNo YXJlZF9yYXcgPT0gTlVMTCApDQo+ICsgICAgICAgIGdvdG8gbm9fbWVtOw0KPiArDQo+ICsgICAg LyogU3RhdHVzIHBhZ2VzIGZvciBncmFudCB0YWJsZSAtIGZvciB2ZXJzaW9uIDIgKi8NCj4gKyAg ICBndC0+c3RhdHVzID0geHphbGxvY19hcnJheShncmFudF9zdGF0dXNfdCAqLA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGdyYW50X3RvX3N0YXR1c19mcmFtZXMobWF4X2dyYW50 X2ZyYW1lcykpOw0KPiArICAgIGlmICggZ3QtPnN0YXR1cyA9PSBOVUxMICkNCj4gKyAgICAgICAg Z290byBub19tZW07DQo+ICsNCj4gKyAgICByZXR1cm4gMDsNCj4gKw0KPiArIG5vX21lbToNCj4g KyAgICB4ZnJlZShndC0+c2hhcmVkX3Jhdyk7DQo+ICsgICAgZ3QtPnNoYXJlZF9yYXcgPSBOVUxM Ow0KPiArICAgIHZmcmVlKGd0LT5tYXB0cmFjayk7DQo+ICsgICAgZ3QtPm1hcHRyYWNrID0gTlVM TDsNCj4gKyAgICB4ZnJlZShndC0+YWN0aXZlKTsNCj4gKyAgICBndC0+YWN0aXZlID0gTlVMTDsN Cj4gKyAgICByZXR1cm4gLUVOT01FTTsNCj4gK30NCj4gKw0KPiAgLyoNCj4gICAqIEdyb3cgdGhl IGdyYW50IHRhYmxlLiBUaGUgY2FsbGVyIG11c3QgaG9sZCB0aGUgZ3JhbnQgdGFibGUncw0KPiAg ICogd3JpdGUgbG9jayBiZWZvcmUgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLg0KPiBAQCAtMTY2NSw2 ICsxNzA1LDEwIEBAIGdudHRhYl9ncm93X3RhYmxlKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVk IGludA0KPiByZXFfbnJfZnJhbWVzKQ0KPiAgICAgIHN0cnVjdCBncmFudF90YWJsZSAqZ3QgPSBk LT5ncmFudF90YWJsZTsNCj4gICAgICB1bnNpZ25lZCBpbnQgaSwgajsNCj4gDQo+ICsgICAgQVNT RVJUKGd0LT5hY3RpdmUpOw0KPiArDQo+ICsgICAgaWYgKCByZXFfbnJfZnJhbWVzIDwgSU5JVElB TF9OUl9HUkFOVF9GUkFNRVMgKQ0KPiArICAgICAgICByZXFfbnJfZnJhbWVzID0gSU5JVElBTF9O Ul9HUkFOVF9GUkFNRVM7DQo+ICAgICAgQVNTRVJUKHJlcV9ucl9mcmFtZXMgPD0gbWF4X2dyYW50 X2ZyYW1lcyk7DQo+IA0KPiAgICAgIGdkcHJpbnRrKFhFTkxPR19JTkZPLA0KPiBAQCAtMzM4MSw3 NSArMzQyNSwyMSBAQCBncmFudF90YWJsZV9jcmVhdGUoDQo+ICAgICAgc3RydWN0IGRvbWFpbiAq ZCkNCj4gIHsNCj4gICAgICBzdHJ1Y3QgZ3JhbnRfdGFibGUgKnQ7DQo+IC0gICAgdW5zaWduZWQg aW50IGksIGo7DQo+IA0KPiAgICAgIGlmICggKHQgPSB4emFsbG9jKHN0cnVjdCBncmFudF90YWJs ZSkpID09IE5VTEwgKQ0KPiAtICAgICAgICBnb3RvIG5vX21lbV8wOw0KPiArICAgICAgICByZXR1 cm4gLUVOT01FTTsNCj4gDQo+ICAgICAgLyogU2ltcGxlIHN0dWZmLiAqLw0KPiAgICAgIHBlcmNw dV9yd2xvY2tfcmVzb3VyY2VfaW5pdCgmdC0+bG9jaywgZ3JhbnRfcndsb2NrKTsNCj4gICAgICBz cGluX2xvY2tfaW5pdCgmdC0+bWFwdHJhY2tfbG9jayk7DQo+IC0gICAgdC0+bnJfZ3JhbnRfZnJh bWVzID0gSU5JVElBTF9OUl9HUkFOVF9GUkFNRVM7DQo+IC0NCj4gLSAgICAvKiBBY3RpdmUgZ3Jh bnQgdGFibGUuICovDQo+IC0gICAgaWYgKCAodC0+YWN0aXZlID0geHphbGxvY19hcnJheShzdHJ1 Y3QgYWN0aXZlX2dyYW50X2VudHJ5ICosDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBtYXhfbnJfYWN0aXZlX2dyYW50X2ZyYW1lcykpID09IE5VTEwgKQ0KPiAtICAgICAg ICBnb3RvIG5vX21lbV8xOw0KPiAtICAgIGZvciAoIGkgPSAwOw0KPiAtICAgICAgICAgIGkgPCBu dW1fYWN0X2ZyYW1lc19mcm9tX3NoYV9mcmFtZXMoSU5JVElBTF9OUl9HUkFOVF9GUkFNRVMpOw0K PiBpKysgKQ0KPiAtICAgIHsNCj4gLSAgICAgICAgaWYgKCAodC0+YWN0aXZlW2ldID0gYWxsb2Nf eGVuaGVhcF9wYWdlKCkpID09IE5VTEwgKQ0KPiAtICAgICAgICAgICAgZ290byBub19tZW1fMjsN Cj4gLSAgICAgICAgY2xlYXJfcGFnZSh0LT5hY3RpdmVbaV0pOw0KPiAtICAgICAgICBmb3IgKCBq ID0gMDsgaiA8IEFDR05UX1BFUl9QQUdFOyBqKysgKQ0KPiAtICAgICAgICAgICAgc3Bpbl9sb2Nr X2luaXQoJnQtPmFjdGl2ZVtpXVtqXS5sb2NrKTsNCj4gLSAgICB9DQo+IC0NCj4gLSAgICAvKiBU cmFja2luZyBvZiBtYXBwZWQgZm9yZWlnbiBmcmFtZXMgdGFibGUgKi8NCj4gLSAgICB0LT5tYXB0 cmFjayA9IHZ6YWxsb2MobWF4X21hcHRyYWNrX2ZyYW1lcyAqIHNpemVvZigqdC0+bWFwdHJhY2sp KTsNCj4gLSAgICBpZiAoIHQtPm1hcHRyYWNrID09IE5VTEwgKQ0KPiAtICAgICAgICBnb3RvIG5v X21lbV8yOw0KPiAtDQo+IC0gICAgLyogU2hhcmVkIGdyYW50IHRhYmxlLiAqLw0KPiAtICAgIGlm ICggKHQtPnNoYXJlZF9yYXcgPSB4emFsbG9jX2FycmF5KHZvaWQgKiwgbWF4X2dyYW50X2ZyYW1l cykpID09IE5VTEwgKQ0KPiAtICAgICAgICBnb3RvIG5vX21lbV8zOw0KPiAtICAgIGZvciAoIGkg PSAwOyBpIDwgSU5JVElBTF9OUl9HUkFOVF9GUkFNRVM7IGkrKyApDQo+IC0gICAgew0KPiAtICAg ICAgICBpZiAoICh0LT5zaGFyZWRfcmF3W2ldID0gYWxsb2NfeGVuaGVhcF9wYWdlKCkpID09IE5V TEwgKQ0KPiAtICAgICAgICAgICAgZ290byBub19tZW1fNDsNCj4gLSAgICAgICAgY2xlYXJfcGFn ZSh0LT5zaGFyZWRfcmF3W2ldKTsNCj4gLSAgICB9DQo+IC0NCj4gLSAgICAvKiBTdGF0dXMgcGFn ZXMgZm9yIGdyYW50IHRhYmxlIC0gZm9yIHZlcnNpb24gMiAqLw0KPiAtICAgIHQtPnN0YXR1cyA9 IHh6YWxsb2NfYXJyYXkoZ3JhbnRfc3RhdHVzX3QgKiwNCj4gLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGdyYW50X3RvX3N0YXR1c19mcmFtZXMobWF4X2dyYW50X2ZyYW1lcykpOw0KPiAt ICAgIGlmICggdC0+c3RhdHVzID09IE5VTEwgKQ0KPiAtICAgICAgICBnb3RvIG5vX21lbV80Ow0K PiAtDQo+IC0gICAgZm9yICggaSA9IDA7IGkgPCBJTklUSUFMX05SX0dSQU5UX0ZSQU1FUzsgaSsr ICkNCj4gLSAgICAgICAgZ250dGFiX2NyZWF0ZV9zaGFyZWRfcGFnZShkLCB0LCBpKTsNCj4gLQ0K PiAtICAgIHQtPm5yX3N0YXR1c19mcmFtZXMgPSAwOw0KPiANCj4gICAgICAvKiBPa2F5LCBpbnN0 YWxsIHRoZSBzdHJ1Y3R1cmUuICovDQo+ICAgICAgZC0+Z3JhbnRfdGFibGUgPSB0Ow0KPiAtICAg IHJldHVybiAwOw0KPiANCj4gLSBub19tZW1fNDoNCj4gLSAgICBmb3IgKCBpID0gMDsgaSA8IElO SVRJQUxfTlJfR1JBTlRfRlJBTUVTOyBpKysgKQ0KPiAtICAgICAgICBmcmVlX3hlbmhlYXBfcGFn ZSh0LT5zaGFyZWRfcmF3W2ldKTsNCj4gLSAgICB4ZnJlZSh0LT5zaGFyZWRfcmF3KTsNCj4gLSBu b19tZW1fMzoNCj4gLSAgICB2ZnJlZSh0LT5tYXB0cmFjayk7DQo+IC0gbm9fbWVtXzI6DQo+IC0g ICAgZm9yICggaSA9IDA7DQo+IC0gICAgICAgICAgaSA8IG51bV9hY3RfZnJhbWVzX2Zyb21fc2hh X2ZyYW1lcyhJTklUSUFMX05SX0dSQU5UX0ZSQU1FUyk7DQo+IGkrKyApDQo+IC0gICAgICAgIGZy ZWVfeGVuaGVhcF9wYWdlKHQtPmFjdGl2ZVtpXSk7DQo+IC0gICAgeGZyZWUodC0+YWN0aXZlKTsN Cj4gLSBub19tZW1fMToNCj4gLSAgICB4ZnJlZSh0KTsNCj4gLSBub19tZW1fMDoNCj4gLSAgICBy ZXR1cm4gLUVOT01FTTsNCj4gKyAgICBpZiAoIGQtPmRvbWFpbl9pZCA9PSAwICkNCj4gKyAgICAg ICAgcmV0dXJuIGdyYW50X3RhYmxlX2luaXQodCk7DQo+ICsNCj4gKyAgICByZXR1cm4gMDsNCj4g IH0NCj4gDQo+ICB2b2lkDQo+IEBAIC0zNjUxLDggKzM2NDEsOSBAQCBpbnQgZ3JhbnRfdGFibGVf c2V0X2xpbWl0cyhzdHJ1Y3QgZG9tYWluICpkLA0KPiB1bnNpZ25lZCBpbnQgZ3JhbnRfZnJhbWVz LA0KPiANCj4gICAgICBncmFudF93cml0ZV9sb2NrKGd0KTsNCj4gDQo+IC0gICAgcmV0ID0gMDsN Cj4gLSAgICAvKiBTZXQgbGltaXRzLCBhbGxvYyBuZWVkZWQgYXJyYXlzLiAqLw0KPiArICAgIC8q IFNldCBsaW1pdHMuICovDQo+ICsgICAgaWYgKCAhZ3QtPmFjdGl2ZSApDQo+ICsgICAgICAgIHJl dCA9IGdyYW50X3RhYmxlX2luaXQoZ3QpOw0KPiANCj4gICAgICBncmFudF93cml0ZV91bmxvY2so Z3QpOw0KPiANCj4gLS0NCj4gMi4xMi4zDQo+IA0KPiANCj4gX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gWGVuLWRldmVsIG1haWxpbmcgbGlzdA0KPiBY ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZw0KPiBodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVs DQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2 ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVu Lm9yZy94ZW4tZGV2ZWwK