From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paulina Szubarczyk Subject: [PATCH RESEND 4/4] qemu-xen-dir/hw/block: Cache local buffers used in grant copy Date: Tue, 31 May 2016 06:44:58 +0200 Message-ID: <1464669898-28495-5-git-send-email-paulinaszubarczyk@gmail.com> References: <1464669898-28495-1-git-send-email-paulinaszubarczyk@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1b7bZN-0007UW-Af for xen-devel@lists.xenproject.org; Tue, 31 May 2016 04:46:21 +0000 Received: by mail-lf0-f65.google.com with SMTP id w16so13582469lfd.0 for ; Mon, 30 May 2016 21:46:19 -0700 (PDT) In-Reply-To: <1464669898-28495-1-git-send-email-paulinaszubarczyk@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org, roger.pau@citrix.com Cc: sstabellini@kernel.org, wei.liu2@citrix.com, George.Dunlap@eu.citrix.com, Paulina Szubarczyk , ian.jackson@eu.citrix.com, P.Gawkowski@ii.pw.edu.pl, anthony.perard@citrix.com List-Id: xen-devel@lists.xenproject.org SWYgdGhlcmUgYXJlIHN0aWxsIHBlbmRpbmcgcmVxdWVzdHMgdGhlIGJ1ZmZlcnMgYXJlIG5vdCBm cmVlKCkgYnV0CmNhY2hlZCBpbiBhbiBhcnJheSBvZiBhIHNpemUgbWF4X3JlcXVlc3QqQkxLSUZf TUFYX1NFR01FTlRTX1BFUl9SRVFVRVNUCgotLS0KIGh3L2Jsb2NrL3hlbl9kaXNrLmMgfCA2MCAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQogMSBm aWxlIGNoYW5nZWQsIDQ3IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2h3L2Jsb2NrL3hlbl9kaXNrLmMgYi9ody9ibG9jay94ZW5fZGlzay5jCmluZGV4IDQzY2Q5 YzkuLmNmODA4OTcgMTAwNjQ0Ci0tLSBhL2h3L2Jsb2NrL3hlbl9kaXNrLmMKKysrIGIvaHcvYmxv Y2sveGVuX2Rpc2suYwpAQCAtMTI1LDYgKzEyNSwxMCBAQCBzdHJ1Y3QgWGVuQmxrRGV2IHsKICAg ICAvKiAqLwogICAgIGdib29sZWFuICAgICAgICAgICAgZmVhdHVyZV9kaXNjYXJkOwogCisgICAg LyogcmVxdWVzdCBidWZmZXIgY2FjaGUgKi8KKyAgICB2b2lkICAgICAgICAgICAgICAgICoqYnVm X2NhY2hlOworICAgIGludCAgICAgICAgICAgICAgICAgYnVmX2NhY2hlX2ZyZWU7CisKICAgICAv KiBxZW11IGJsb2NrIGRyaXZlciAqLwogICAgIERyaXZlSW5mbyAgICAgICAgICAgKmRpbmZvOwog ICAgIEJsb2NrQmFja2VuZCAgICAgICAgKmJsazsKQEAgLTI4NCwxMiArMjg4LDE2IEBAIGVycjoK ICAgICByZXR1cm4gLTE7CiB9CiAKLQotc3RhdGljIHZvaWQqIGdldF9idWZmZXIodm9pZCkgewor c3RhdGljIHZvaWQqIGdldF9idWZmZXIoc3RydWN0IFhlbkJsa0RldiAqYmxrZGV2KSB7CiAgICAg dm9pZCAqYnVmOwogCi0gICAgYnVmID0gbW1hcChOVUxMLCAxIDw8IFhDX1BBR0VfU0hJRlQsIFBS T1RfUkVBRCB8IFBST1RfV1JJVEUsIAorICAgIGlmKGJsa2Rldi0+YnVmX2NhY2hlX2ZyZWUgPD0g MCkgeworICAgICAgICBidWYgPSBtbWFwKE5VTEwsIDEgPDwgWENfUEFHRV9TSElGVCwgUFJPVF9S RUFEIHwgUFJPVF9XUklURSwgCiAgICAgICAgICAgICAgICBNQVBfU0hBUkVEIHwgTUFQX0FOT05Z TU9VUywgLTEsIDApOworICAgIH0gZWxzZSB7CisgICAgICAgIGJsa2Rldi0+YnVmX2NhY2hlX2Zy ZWUtLTsKKyAgICAgICAgYnVmID0gYmxrZGV2LT5idWZfY2FjaGVbYmxrZGV2LT5idWZfY2FjaGVf ZnJlZV07CisgICAgfQogCiAgICAgaWYgKHVubGlrZWx5KGJ1ZiA9PSBNQVBfRkFJTEVEKSkKICAg ICAgICAgcmV0dXJuIE5VTEw7CkBAIC0zMDEsMjEgKzMwOSw0MCBAQCBzdGF0aWMgaW50IGZyZWVf YnVmZmVyKHZvaWQqIGJ1ZikgewogICAgIHJldHVybiBtdW5tYXAoYnVmLCAxIDw8IFhDX1BBR0Vf U0hJRlQpOwogfQogCi1zdGF0aWMgaW50IGZyZWVfYnVmZmVycyh2b2lkKiogcGFnZSwgaW50IGNv dW50KSAKK3N0YXRpYyBpbnQgZnJlZV9idWZmZXJzKHZvaWQqKiBwYWdlLCBpbnQgY291bnQsIHN0 cnVjdCBYZW5CbGtEZXYgKmJsa2RldikgCiB7Ci0gICAgaW50IGksIHIgPSAwOworICAgIGludCBp LCBwdXRfYnVmX2NhY2hlID0gMCwgciA9IDA7CisKKyAgICBpZiAoYmxrZGV2LT5tb3JlX3dvcmsg JiYgYmxrZGV2LT5yZXF1ZXN0c19pbmZsaWdodCA8IG1heF9yZXF1ZXN0cykgeworICAgICAgICBw dXRfYnVmX2NhY2hlID0gbWF4X3JlcXVlc3RzICogQkxLSUZfTUFYX1NFR01FTlRTX1BFUl9SRVFV RVNUCisgICAgICAgICAgICAgICAgICAgICAgICAtIGJsa2Rldi0+YnVmX2NhY2hlX2ZyZWU7Cisg ICAgfQogCiAgICAgZm9yIChpID0gMDsgaSA8IGNvdW50OyBpKyspIHsgCi0gICAgICAgIAotICAg ICAgICBpZihmcmVlX2J1ZmZlcihwYWdlW2ldKSkgCi0gICAgICAgICAgICByID0gMTsKLSAgICAg ICAgCisgICAgICAgIGlmKHB1dF9idWZfY2FjaGUgPiAwKSB7CisgICAgICAgICAgICBibGtkZXYt PmJ1Zl9jYWNoZVtibGtkZXYtPmJ1Zl9jYWNoZV9mcmVlKytdID0gcGFnZVtpXTsKKyAgICAgICAg ICAgIHB1dF9idWZfY2FjaGUtLTsKKyAgICAgICAgfSBlbHNlIHsgCisgICAgICAgICAgICBpZihm cmVlX2J1ZmZlcihwYWdlW2ldKSkgCisgICAgICAgICAgICAgICAgciA9IDE7CisgICAgICAgIH0K KwogICAgICAgICBwYWdlW2ldID0gTlVMTDsKICAgICB9CiAKICAgICByZXR1cm4gcjsKIH0KIAor c3RhdGljIHZvaWQgZnJlZV9idWZfY2FjaGUoc3RydWN0IFhlbkJsa0RldiAqYmxrZGV2KSB7Cisg ICAgaW50IGk7CisgICAgZm9yKGkgPSAwOyBpIDwgYmxrZGV2LT5idWZfY2FjaGVfZnJlZTsgaSsr KSB7CisgICAgICAgIGZyZWVfYnVmZmVyKGJsa2Rldi0+YnVmX2NhY2hlW2ldKTsKKyAgICB9CisK KyAgICBibGtkZXYtPmJ1Zl9jYWNoZV9mcmVlID0gMDsKKyAgICBmcmVlKGJsa2Rldi0+YnVmX2Nh Y2hlKTsKK30KKwogc3RhdGljIGludCBpb3JlcV93cml0ZShzdHJ1Y3QgaW9yZXEgKmlvcmVxKSAK IHsKICAgICBYZW5HbnR0YWIgZ250ID0gaW9yZXEtPmJsa2Rldi0+eGVuZGV2LmdudHRhYmRldjsK QEAgLTM0Myw3ICszNzAsNyBAQCBzdGF0aWMgaW50IGlvcmVxX3dyaXRlKHN0cnVjdCBpb3JlcSAq aW9yZXEpCiAgICAgICAgIG9mZnNldFtpXSA9IGlvcmVxLT5yZXEuc2VnW2ldLmZpcnN0X3NlY3Qg KiBpb3JlcS0+YmxrZGV2LT5maWxlX2JsazsKICAgICAgICAgbGVuW2ldID0gKGlvcmVxLT5yZXEu c2VnW2ldLmxhc3Rfc2VjdCAtIGlvcmVxLT5yZXEuc2VnW2ldLmZpcnN0X3NlY3QgKyAxKSAKICAg ICAgICAgICAgICAgICAgICogaW9yZXEtPmJsa2Rldi0+ZmlsZV9ibGs7Ci0gICAgICAgIHBhZ2Vz W2ldICA9IGdldF9idWZmZXIoKTsKKyAgICAgICAgcGFnZXNbaV0gID0gZ2V0X2J1ZmZlcihpb3Jl cS0+YmxrZGV2KTsKIAogICAgICAgICBpZighcGFnZXNbaV0pIHsKICAgICAgICAgICAgIHhlbl9i ZV9wcmludGYoJmlvcmVxLT5ibGtkZXYtPnhlbmRldiwgMCwgCkBAIC0zNTcsNyArMzg0LDcgQEAg c3RhdGljIGludCBpb3JlcV93cml0ZShzdHJ1Y3QgaW9yZXEgKmlvcmVxKQogICAgICAgICB4ZW5f YmVfcHJpbnRmKCZpb3JlcS0+YmxrZGV2LT54ZW5kZXYsIDAsIAogICAgICAgICAgICAgICAgICAg ICAgICJmYWlsZWQgdG8gY29weSBkYXRhIGZvciB3cml0ZSAlZCBcbiIsIHJjKTsKIAotICAgICAg ICBpZihmcmVlX2J1ZmZlcnMoaW9yZXEtPnBhZ2UsIGlvcmVxLT52Lm5pb3YpKSB7CisgICAgICAg IGlmKGZyZWVfYnVmZmVycyhpb3JlcS0+cGFnZSwgaW9yZXEtPnYubmlvdiwgaW9yZXEtPmJsa2Rl dikpIHsKICAgICAgICAgICAgIHhlbl9iZV9wcmludGYoJmlvcmVxLT5ibGtkZXYtPnhlbmRldiwg MCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJmYWlsZWQgdG8gZnJlZSBwYWdlLCBlcnJu byAlZCBcbiIsIGVycm5vKTsKICAgICAgICAgfQpAQCAtMzgzLDcgKzQxMCw3IEBAIHN0YXRpYyBp bnQgaW9yZXFfcmVhZF9pbml0KHN0cnVjdCBpb3JlcSAqaW9yZXEpCiAgICAgfQogCiAgICAgZm9y IChpID0gMDsgaSA8IGlvcmVxLT52Lm5pb3Y7IGkrKykgewotICAgICAgICBpb3JlcS0+cGFnZVtp XSA9IGdldF9idWZmZXIoKTsKKyAgICAgICAgaW9yZXEtPnBhZ2VbaV0gPSBnZXRfYnVmZmVyKGlv cmVxLT5ibGtkZXYpOwogICAgICAgICBpZighaW9yZXEtPnBhZ2VbaV0pIHsKICAgICAgICAgICAg IHJldHVybiAtMTsKICAgICAgICAgfQpAQCAtNDY5LDcgKzQ5Niw3IEBAIHN0YXRpYyB2b2lkIHFl bXVfYWlvX2NvbXBsZXRlKHZvaWQgKm9wYXF1ZSwgaW50IHJldCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgImZhaWxlZCB0byBjb3B5IHJlYWQgZGF0YSB0byBndWVzdFxuIik7CiAgICAgICAg IH0KICAgICBjYXNlIEJMS0lGX09QX1dSSVRFOgotICAgICAgICBpZihmcmVlX2J1ZmZlcnMoaW9y ZXEtPnBhZ2UsIGlvcmVxLT52Lm5pb3YpKSB7CisgICAgICAgIGlmKGZyZWVfYnVmZmVycyhpb3Jl cS0+cGFnZSwgaW9yZXEtPnYubmlvdiwgaW9yZXEtPmJsa2RldikpIHsKICAgICAgICAgICAgIHhl bl9iZV9wcmludGYoJmlvcmVxLT5ibGtkZXYtPnhlbmRldiwgMCwgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICJmYWlsZWQgdG8gZnJlZSBwYWdlLCBlcnJubyAlZCBcbiIsIGVycm5vKTsKICAg ICAgICAgfQpAQCAtOTM2LDYgKzk2MywxMSBAQCBzdGF0aWMgaW50IGJsa19jb25uZWN0KHN0cnVj dCBYZW5EZXZpY2UgKnhlbmRldikKICAgICB9CiAgICAgYmxrZGV2LT5jbnRfbWFwKys7CiAKKyAg ICAvKiBjcmVhdGUgYnVmZmVyIGNhY2hlIGZvciBncmFudCBjb3B5IG9wZXJhdGlvbnMqLworICAg IGJsa2Rldi0+YnVmX2NhY2hlX2ZyZWUgPSAwOworICAgIGJsa2Rldi0+YnVmX2NhY2hlID0gY2Fs bG9jKG1heF9yZXF1ZXN0cyAqIEJMS0lGX01BWF9TRUdNRU5UU19QRVJfUkVRVUVTVCwgCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHZvaWQgKikpOworCiAgICAgc3dpdGNo IChibGtkZXYtPnByb3RvY29sKSB7CiAgICAgY2FzZSBCTEtJRl9QUk9UT0NPTF9OQVRJVkU6CiAg ICAgewpAQCAtOTcyLDYgKzEwMDQsOCBAQCBzdGF0aWMgdm9pZCBibGtfZGlzY29ubmVjdChzdHJ1 Y3QgWGVuRGV2aWNlICp4ZW5kZXYpCiB7CiAgICAgc3RydWN0IFhlbkJsa0RldiAqYmxrZGV2ID0g Y29udGFpbmVyX29mKHhlbmRldiwgc3RydWN0IFhlbkJsa0RldiwgeGVuZGV2KTsKIAorICAgIGZy ZWVfYnVmX2NhY2hlKGJsa2Rldik7CisKICAgICBpZiAoYmxrZGV2LT5ibGspIHsKICAgICAgICAg YmxrX2RldGFjaF9kZXYoYmxrZGV2LT5ibGssIGJsa2Rldik7CiAgICAgICAgIGJsa191bnJlZihi bGtkZXYtPmJsayk7Ci0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhl bi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==