From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49914) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gIXQP-0003lD-UF for qemu-devel@nongnu.org; Fri, 02 Nov 2018 07:15:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gIXQL-00052l-Cu for qemu-devel@nongnu.org; Fri, 02 Nov 2018 07:15:37 -0400 From: Paul Durrant Date: Fri, 2 Nov 2018 11:15:24 +0000 Message-ID: References: <154115285434.11300.8459925605672823399.stgit@dhcp-3-135.uk.xensource.com> <154115286959.11300.498371710893672725.stgit@dhcp-3-135.uk.xensource.com> In-Reply-To: <154115286959.11300.498371710893672725.stgit@dhcp-3-135.uk.xensource.com> Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH 3/3] Avoid repeated memory allocation in xen_disk List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Tim Smith , "xen-devel@lists.xenproject.org" , "qemu-devel@nongnu.org" , "qemu-block@nongnu.org" Cc: Anthony Perard , Kevin Wolf , Stefano Stabellini , Max Reitz PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBUaW0gU21pdGggW21haWx0bzp0 aW0uc21pdGhAY2l0cml4LmNvbV0NCj4gU2VudDogMDIgTm92ZW1iZXIgMjAxOCAxMDowMQ0KPiBU bzogeGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnOyBxZW11LWRldmVsQG5vbmdudS5vcmc7 IHFlbXUtDQo+IGJsb2NrQG5vbmdudS5vcmcNCj4gQ2M6IEFudGhvbnkgUGVyYXJkIDxhbnRob255 LnBlcmFyZEBjaXRyaXguY29tPjsgS2V2aW4gV29sZg0KPiA8a3dvbGZAcmVkaGF0LmNvbT47IFBh dWwgRHVycmFudCA8UGF1bC5EdXJyYW50QGNpdHJpeC5jb20+OyBTdGVmYW5vDQo+IFN0YWJlbGxp bmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+OyBNYXggUmVpdHogPG1yZWl0ekByZWRoYXQuY29t Pg0KPiBTdWJqZWN0OiBbUEFUQ0ggMy8zXSBBdm9pZCByZXBlYXRlZCBtZW1vcnkgYWxsb2NhdGlv biBpbiB4ZW5fZGlzaw0KPiANCj4geGVuX2Rpc2sgY3VycmVudGx5IGFsbG9jYXRlcyBtZW1vcnkg dG8gaG9sZCB0aGUgZGF0YSBmb3IgZWFjaCBpb3JlcQ0KPiBhcyB0aGF0IGlvcmVxIGlzIHVzZWQs IGFuZCBmcmVlcyBpdCBhZnRlcndhcmRzLiBCZWNhdXNlIGl0IHJlcXVpcmVzDQo+IHBhZ2UtYWxp Z25lZCBibG9ja3MsIHRoaXMgaW50ZXJhY3RzIHBvb3JseSB3aXRoIG5vbi1wYWdlLWFsaWduZWQN Cj4gYWxsb2NhdGlvbnMgYW5kIGJhbGxvb25zIHRoZSBoZWFwLg0KPiANCj4gSW5zdGVhZCwgYWxs b2NhdGUgdGhlIG1heGltdW0gcG9zc2libGUgcmVxdWlyZW1lbnQsIHdoaWNoIGlzDQo+IEJMS0lG X01BWF9TRUdNRU5UU19QRVJfUkVRVUVTVCBwYWdlcyAoY3VycmVudGx5IDExIHBhZ2VzKSB3aGVu DQo+IHRoZSBpb3JlcSBpcyBjcmVhdGVkLCBhbmQga2VlcCB0aGF0IGFsbG9jYXRpb24gdW50aWwg aXQgaXMgZGVzdHJveWVkLg0KPiBTaW5jZSB0aGUgaW9yZXFzIHRoZW1zZWx2ZXMgYXJlIHJlLXVz ZWQgdmlhIGEgZnJlZSBsaXN0LCB0aGlzDQo+IHNob3VsZCBhY3R1YWxseSBpbXByb3ZlIG1lbW9y eSB1c2FnZS4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IFRpbSBTbWl0aCA8dGltLnNtaXRoQGNpdHJp eC5jb20+DQoNClJldmlld2VkLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWwuZHVycmFudEBjaXRyaXgu Y29tPg0KDQo+IC0tLQ0KPiAgaHcvYmxvY2sveGVuX2Rpc2suYyB8ICAgMTEgKysrKysrLS0tLS0N Cj4gIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pDQo+IA0K PiBkaWZmIC0tZ2l0IGEvaHcvYmxvY2sveGVuX2Rpc2suYyBiL2h3L2Jsb2NrL3hlbl9kaXNrLmMN Cj4gaW5kZXggYjUwNmUyMzg2OC4uZmFhZWVmYmEyOSAxMDA2NDQNCj4gLS0tIGEvaHcvYmxvY2sv eGVuX2Rpc2suYw0KPiArKysgYi9ody9ibG9jay94ZW5fZGlzay5jDQo+IEBAIC0xMTIsNyArMTEy LDYgQEAgc3RhdGljIHZvaWQgaW9yZXFfcmVzZXQoc3RydWN0IGlvcmVxICppb3JlcSkNCj4gICAg ICBtZW1zZXQoJmlvcmVxLT5yZXEsIDAsIHNpemVvZihpb3JlcS0+cmVxKSk7DQo+ICAgICAgaW9y ZXEtPnN0YXR1cyA9IDA7DQo+ICAgICAgaW9yZXEtPnN0YXJ0ID0gMDsNCj4gLSAgICBpb3JlcS0+ YnVmID0gTlVMTDsNCj4gICAgICBpb3JlcS0+c2l6ZSA9IDA7DQo+ICAgICAgaW9yZXEtPnByZXN5 bmMgPSAwOw0KPiANCj4gQEAgLTEzNyw2ICsxMzYsMTEgQEAgc3RhdGljIHN0cnVjdCBpb3JlcSAq aW9yZXFfc3RhcnQoc3RydWN0IFhlbkJsa0Rldg0KPiAqYmxrZGV2KQ0KPiAgICAgICAgICAvKiBh bGxvY2F0ZSBuZXcgc3RydWN0ICovDQo+ICAgICAgICAgIGlvcmVxID0gZ19tYWxsb2MwKHNpemVv ZigqaW9yZXEpKTsNCj4gICAgICAgICAgaW9yZXEtPmJsa2RldiA9IGJsa2RldjsNCj4gKyAgICAg ICAgLyogV2UgY2Fubm90IG5lZWQgbW9yZSBwYWdlcyBwZXIgaW9yZXEgdGhhbiB0aGlzLCBhbmQg d2UgZG8gcmUtDQo+IHVzZQ0KPiArICAgICAgICAgKiBpb3JlcXMsIHNvIGFsbG9jYXRlIHRoZSBt ZW1vcnkgb25jZSBoZXJlLCB0byBiZSBmcmVlZCBpbg0KPiArICAgICAgICAgKiBibGtfZnJlZSgp IHdoZW4gdGhlIGlvcmVxIGlzIGZyZWVkLiAqLw0KPiArICAgICAgICBpb3JlcS0+YnVmID0gcWVt dV9tZW1hbGlnbihYQ19QQUdFX1NJWkUsDQo+IEJMS0lGX01BWF9TRUdNRU5UU19QRVJfUkVRVUVT VA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIFhDX1BBR0VfU0laRSk7 DQo+ICAgICAgICAgIGJsa2Rldi0+cmVxdWVzdHNfdG90YWwrKzsNCj4gICAgICAgICAgcWVtdV9p b3ZlY19pbml0KCZpb3JlcS0+diwgMSk7DQo+ICAgICAgfSBlbHNlIHsNCj4gQEAgLTMxMywxNCAr MzE3LDEyIEBAIHN0YXRpYyB2b2lkIHFlbXVfYWlvX2NvbXBsZXRlKHZvaWQgKm9wYXF1ZSwgaW50 IHJldCkNCj4gICAgICAgICAgaWYgKHJldCA9PSAwKSB7DQo+ICAgICAgICAgICAgICBpb3JlcV9n cmFudF9jb3B5KGlvcmVxKTsNCj4gICAgICAgICAgfQ0KPiAtICAgICAgICBxZW11X3ZmcmVlKGlv cmVxLT5idWYpOw0KPiAgICAgICAgICBicmVhazsNCj4gICAgICBjYXNlIEJMS0lGX09QX1dSSVRF Og0KPiAgICAgIGNhc2UgQkxLSUZfT1BfRkxVU0hfRElTS0NBQ0hFOg0KPiAgICAgICAgICBpZiAo IWlvcmVxLT5yZXEubnJfc2VnbWVudHMpIHsNCj4gICAgICAgICAgICAgIGJyZWFrOw0KPiAgICAg ICAgICB9DQo+IC0gICAgICAgIHFlbXVfdmZyZWUoaW9yZXEtPmJ1Zik7DQo+ICAgICAgICAgIGJy ZWFrOw0KPiAgICAgIGRlZmF1bHQ6DQo+ICAgICAgICAgIGJyZWFrOw0KPiBAQCAtMzkyLDEyICsz OTQsMTAgQEAgc3RhdGljIGludCBpb3JlcV9ydW5pb19xZW11X2FpbyhzdHJ1Y3QgaW9yZXEgKmlv cmVxKQ0KPiAgew0KPiAgICAgIHN0cnVjdCBYZW5CbGtEZXYgKmJsa2RldiA9IGlvcmVxLT5ibGtk ZXY7DQo+IA0KPiAtICAgIGlvcmVxLT5idWYgPSBxZW11X21lbWFsaWduKFhDX1BBR0VfU0laRSwg aW9yZXEtPnNpemUpOw0KPiAgICAgIGlmIChpb3JlcS0+cmVxLm5yX3NlZ21lbnRzICYmDQo+ICAg ICAgICAgIChpb3JlcS0+cmVxLm9wZXJhdGlvbiA9PSBCTEtJRl9PUF9XUklURSB8fA0KPiAgICAg ICAgICAgaW9yZXEtPnJlcS5vcGVyYXRpb24gPT0gQkxLSUZfT1BfRkxVU0hfRElTS0NBQ0hFKSAm Jg0KPiAgICAgICAgICBpb3JlcV9ncmFudF9jb3B5KGlvcmVxKSkgew0KPiAtICAgICAgICBxZW11 X3ZmcmVlKGlvcmVxLT5idWYpOw0KPiAgICAgICAgICBnb3RvIGVycjsNCj4gICAgICB9DQo+IA0K PiBAQCAtOTkwLDYgKzk5MCw3IEBAIHN0YXRpYyBpbnQgYmxrX2ZyZWUoc3RydWN0IFhlbkRldmlj ZSAqeGVuZGV2KQ0KPiAgICAgICAgICBpb3JlcSA9IFFMSVNUX0ZJUlNUKCZibGtkZXYtPmZyZWVs aXN0KTsNCj4gICAgICAgICAgUUxJU1RfUkVNT1ZFKGlvcmVxLCBsaXN0KTsNCj4gICAgICAgICAg cWVtdV9pb3ZlY19kZXN0cm95KCZpb3JlcS0+dik7DQo+ICsgICAgICAgIHFlbXVfdmZyZWUoaW9y ZXEtPmJ1Zik7DQo+ICAgICAgICAgIGdfZnJlZShpb3JlcSk7DQo+ICAgICAgfQ0KPiANCg0K