From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paulina Szubarczyk Subject: [PATCH 3/3] qemu-xen-dir/hw/block: Cache local buffers used in grant copy Date: Fri, 27 May 2016 14:53:58 +0200 Message-ID: <1464353638-14435-4-git-send-email-paulinaszubarczyk@gmail.com> References: <1464353638-14435-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.bemta14.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1b6HIM-0002Z3-Om for xen-devel@lists.xenproject.org; Fri, 27 May 2016 12:55:18 +0000 Received: by mail-lf0-f67.google.com with SMTP id 65so8471817lfq.1 for ; Fri, 27 May 2016 05:55:16 -0700 (PDT) In-Reply-To: <1464353638-14435-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 TUFYX1NFR01FTlRTX1BFUl9SRVFVRVNUCi0tLQogaHcvYmxvY2sveGVuX2Rpc2suYyB8IDU5ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCiAxIGZp bGUgY2hhbmdlZCwgNDcgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvaHcvYmxvY2sveGVuX2Rpc2suYyBiL2h3L2Jsb2NrL3hlbl9kaXNrLmMKaW5kZXggM2U1ZWVm ZC4uYWIxODYzYiAxMDA2NDQKLS0tIGEvaHcvYmxvY2sveGVuX2Rpc2suYworKysgYi9ody9ibG9j ay94ZW5fZGlzay5jCkBAIC0xMjUsNiArMTI1LDEwIEBAIHN0cnVjdCBYZW5CbGtEZXYgewogICAg IC8qICovCiAgICAgZ2Jvb2xlYW4gICAgICAgICAgICBmZWF0dXJlX2Rpc2NhcmQ7CiAKKyAgICAv KiByZXF1ZXN0IGJ1ZmZlciBjYWNoZSAqLworICAgIHZvaWQgICAgICAgICAgICAgICAgKipidWZf Y2FjaGU7CisgICAgaW50ICAgICAgICAgICAgICAgICBidWZfY2FjaGVfZnJlZTsKKwogICAgIC8q IHFlbXUgYmxvY2sgZHJpdmVyICovCiAgICAgRHJpdmVJbmZvICAgICAgICAgICAqZGluZm87CiAg ICAgQmxvY2tCYWNrZW5kICAgICAgICAqYmxrOwpAQCAtMjg0LDExICsyODgsMTYgQEAgZXJyOgog ICAgIHJldHVybiAtMTsKIH0KIAotc3RhdGljIHZvaWQqIGdldF9idWZmZXIodm9pZCkgeworc3Rh dGljIHZvaWQqIGdldF9idWZmZXIoc3RydWN0IFhlbkJsa0RldiAqYmxrZGV2KSB7CiAgICAgdm9p ZCAqYnVmOwogCi0gICAgYnVmID0gbW1hcChOVUxMLCAxIDw8IFhDX1BBR0VfU0hJRlQsIFBST1Rf UkVBRCB8IFBST1RfV1JJVEUsIAorICAgIGlmKGJsa2Rldi0+YnVmX2NhY2hlX2ZyZWUgPD0gMCkg eworICAgICAgICBidWYgPSBtbWFwKE5VTEwsIDEgPDwgWENfUEFHRV9TSElGVCwgUFJPVF9SRUFE IHwgUFJPVF9XUklURSwgCiAgICAgICAgICAgICAgICBNQVBfU0hBUkVEIHwgTUFQX0FOT05ZTU9V UywgLTEsIDApOworICAgIH0gZWxzZSB7CisgICAgICAgIGJsa2Rldi0+YnVmX2NhY2hlX2ZyZWUt LTsKKyAgICAgICAgYnVmID0gYmxrZGV2LT5idWZfY2FjaGVbYmxrZGV2LT5idWZfY2FjaGVfZnJl ZV07CisgICAgfQogCiAgICAgaWYgKHVubGlrZWx5KGJ1ZiA9PSBNQVBfRkFJTEVEKSkKICAgICAg ICAgcmV0dXJuIE5VTEw7CkBAIC0zMDAsMjEgKzMwOSw0MCBAQCBzdGF0aWMgaW50IGZyZWVfYnVm ZmVyKHZvaWQqIGJ1ZikgewogICAgIHJldHVybiBtdW5tYXAoYnVmLCAxIDw8IFhDX1BBR0VfU0hJ RlQpOwogfQogCi1zdGF0aWMgaW50IGZyZWVfYnVmZmVycyh2b2lkKiogcGFnZSwgaW50IGNvdW50 KSAKK3N0YXRpYyBpbnQgZnJlZV9idWZmZXJzKHZvaWQqKiBwYWdlLCBpbnQgY291bnQsIHN0cnVj dCBYZW5CbGtEZXYgKmJsa2RldikgCiB7Ci0gICAgaW50IGksIHIgPSAwOworICAgIGludCBpLCBw dXRfYnVmX2NhY2hlID0gMCwgciA9IDA7CisKKyAgICBpZiAoYmxrZGV2LT5tb3JlX3dvcmsgJiYg YmxrZGV2LT5yZXF1ZXN0c19pbmZsaWdodCA8IG1heF9yZXF1ZXN0cykgeworICAgICAgICBwdXRf YnVmX2NhY2hlID0gbWF4X3JlcXVlc3RzICogQkxLSUZfTUFYX1NFR01FTlRTX1BFUl9SRVFVRVNU CisgICAgICAgICAgICAgICAgICAgICAgICAtIGJsa2Rldi0+YnVmX2NhY2hlX2ZyZWU7CisgICAg fQogCiAgICAgZm9yIChpID0gMDsgaSA8IGNvdW50OyBpKyspIHsgCi0gICAgICAgIAotICAgICAg ICBpZihmcmVlX2J1ZmZlcihwYWdlW2ldKSkgCi0gICAgICAgICAgICByID0gMTsKLSAgICAgICAg CisgICAgICAgIGlmKHB1dF9idWZfY2FjaGUgPiAwKSB7CisgICAgICAgICAgICBibGtkZXYtPmJ1 Zl9jYWNoZVtibGtkZXYtPmJ1Zl9jYWNoZV9mcmVlKytdID0gcGFnZVtpXTsKKyAgICAgICAgICAg IHB1dF9idWZfY2FjaGUtLTsKKyAgICAgICAgfSBlbHNlIHsgCisgICAgICAgICAgICBpZihmcmVl X2J1ZmZlcihwYWdlW2ldKSkgCisgICAgICAgICAgICAgICAgciA9IDE7CisgICAgICAgIH0KKwog ICAgICAgICBwYWdlW2ldID0gTlVMTDsKICAgICB9CiAKICAgICByZXR1cm4gcjsKIH0KIAorc3Rh dGljIHZvaWQgZnJlZV9idWZfY2FjaGUoc3RydWN0IFhlbkJsa0RldiAqYmxrZGV2KSB7CisgICAg aW50IGk7CisgICAgZm9yKGkgPSAwOyBpIDwgYmxrZGV2LT5idWZfY2FjaGVfZnJlZTsgaSsrKSB7 CisgICAgICAgIGZyZWVfYnVmZmVyKGJsa2Rldi0+YnVmX2NhY2hlW2ldKTsKKyAgICB9CisKKyAg ICBibGtkZXYtPmJ1Zl9jYWNoZV9mcmVlID0gMDsKKyAgICBmcmVlKGJsa2Rldi0+YnVmX2NhY2hl KTsKK30KKwogc3RhdGljIGludCBpb3JlcV93cml0ZShzdHJ1Y3QgaW9yZXEgKmlvcmVxKSAKIHsK ICAgICBYZW5HbnR0YWIgZ250ID0gaW9yZXEtPmJsa2Rldi0+eGVuZGV2LmdudHRhYmRldjsKQEAg LTM0Miw3ICszNzAsNyBAQCBzdGF0aWMgaW50IGlvcmVxX3dyaXRlKHN0cnVjdCBpb3JlcSAqaW9y ZXEpCiAgICAgICAgIG9mZnNldFtpXSA9IGlvcmVxLT5yZXEuc2VnW2ldLmZpcnN0X3NlY3QgKiBp b3JlcS0+YmxrZGV2LT5maWxlX2JsazsKICAgICAgICAgbGVuW2ldID0gKGlvcmVxLT5yZXEuc2Vn W2ldLmxhc3Rfc2VjdCAtIGlvcmVxLT5yZXEuc2VnW2ldLmZpcnN0X3NlY3QgKyAxKSAKICAgICAg ICAgICAgICAgICAgICogaW9yZXEtPmJsa2Rldi0+ZmlsZV9ibGs7Ci0gICAgICAgIHBhZ2VzW2ld ICA9IGdldF9idWZmZXIoKTsKKyAgICAgICAgcGFnZXNbaV0gID0gZ2V0X2J1ZmZlcihpb3JlcS0+ YmxrZGV2KTsKIAogICAgICAgICBpZighcGFnZXNbaV0pIHsKICAgICAgICAgICAgIHhlbl9iZV9w cmludGYoJmlvcmVxLT5ibGtkZXYtPnhlbmRldiwgMCwgCkBAIC0zNTYsNyArMzg0LDcgQEAgc3Rh dGljIGludCBpb3JlcV93cml0ZShzdHJ1Y3QgaW9yZXEgKmlvcmVxKQogICAgICAgICB4ZW5fYmVf cHJpbnRmKCZpb3JlcS0+YmxrZGV2LT54ZW5kZXYsIDAsIAogICAgICAgICAgICAgICAgICAgICAg ICJmYWlsZWQgdG8gY29weSBkYXRhIGZvciB3cml0ZSAlZCBcbiIsIHJjKTsKIAotICAgICAgICBp ZihmcmVlX2J1ZmZlcnMoaW9yZXEtPnBhZ2UsIGlvcmVxLT52Lm5pb3YpKSB7CisgICAgICAgIGlm KGZyZWVfYnVmZmVycyhpb3JlcS0+cGFnZSwgaW9yZXEtPnYubmlvdiwgaW9yZXEtPmJsa2Rldikp IHsKICAgICAgICAgICAgIHhlbl9iZV9wcmludGYoJmlvcmVxLT5ibGtkZXYtPnhlbmRldiwgMCwg CiAgICAgICAgICAgICAgICAgICAgICAgICAgICJmYWlsZWQgdG8gZnJlZSBwYWdlLCBlcnJubyAl ZCBcbiIsIGVycm5vKTsKICAgICAgICAgfQpAQCAtMzgyLDcgKzQxMCw3IEBAIHN0YXRpYyBpbnQg aW9yZXFfcmVhZF9pbml0KHN0cnVjdCBpb3JlcSAqaW9yZXEpCiAgICAgfQogCiAgICAgZm9yIChp ID0gMDsgaSA8IGlvcmVxLT52Lm5pb3Y7IGkrKykgewotICAgICAgICBpb3JlcS0+cGFnZVtpXSA9 IGdldF9idWZmZXIoKTsKKyAgICAgICAgaW9yZXEtPnBhZ2VbaV0gPSBnZXRfYnVmZmVyKGlvcmVx LT5ibGtkZXYpOwogICAgICAgICBpZighaW9yZXEtPnBhZ2VbaV0pIHsKICAgICAgICAgICAgIHJl dHVybiAtMTsKICAgICAgICAgfQpAQCAtNDY5LDcgKzQ5Nyw3IEBAIHN0YXRpYyB2b2lkIHFlbXVf YWlvX2NvbXBsZXRlKHZvaWQgKm9wYXF1ZSwgaW50IHJldCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgImZhaWxlZCB0byBjb3B5IHJlYWQgZGF0YSB0byBndWVzdFxuIik7CiAgICAgICAgIH0K ICAgICBjYXNlIEJMS0lGX09QX1dSSVRFOgotICAgICAgICBpZihmcmVlX2J1ZmZlcnMoaW9yZXEt PnBhZ2UsIGlvcmVxLT52Lm5pb3YpKSB7CisgICAgICAgIGlmKGZyZWVfYnVmZmVycyhpb3JlcS0+ cGFnZSwgaW9yZXEtPnYubmlvdiwgaW9yZXEtPmJsa2RldikpIHsKICAgICAgICAgICAgIHhlbl9i ZV9wcmludGYoJmlvcmVxLT5ibGtkZXYtPnhlbmRldiwgMCwgCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICJmYWlsZWQgdG8gZnJlZSBwYWdlLCBlcnJubyAlZCBcbiIsIGVycm5vKTsKICAgICAg ICAgfQpAQCAtOTM2LDYgKzk2NCwxMSBAQCBzdGF0aWMgaW50IGJsa19jb25uZWN0KHN0cnVjdCBY ZW5EZXZpY2UgKnhlbmRldikKICAgICB9CiAgICAgYmxrZGV2LT5jbnRfbWFwKys7CiAKKyAgICAv KiBjcmVhdGUgYnVmZmVyIGNhY2hlIGZvciBncmFudCBjb3B5IG9wZXJhdGlvbnMqLworICAgIGJs a2Rldi0+YnVmX2NhY2hlX2ZyZWUgPSAwOworICAgIGJsa2Rldi0+YnVmX2NhY2hlID0gY2FsbG9j KG1heF9yZXF1ZXN0cyAqIEJMS0lGX01BWF9TRUdNRU5UU19QRVJfUkVRVUVTVCwgCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHZvaWQgKikpOworCiAgICAgc3dpdGNoIChi bGtkZXYtPnByb3RvY29sKSB7CiAgICAgY2FzZSBCTEtJRl9QUk9UT0NPTF9OQVRJVkU6CiAgICAg ewpAQCAtOTcyLDYgKzEwMDUsOCBAQCBzdGF0aWMgdm9pZCBibGtfZGlzY29ubmVjdChzdHJ1Y3Qg WGVuRGV2aWNlICp4ZW5kZXYpCiB7CiAgICAgc3RydWN0IFhlbkJsa0RldiAqYmxrZGV2ID0gY29u dGFpbmVyX29mKHhlbmRldiwgc3RydWN0IFhlbkJsa0RldiwgeGVuZGV2KTsKIAorICAgIGZyZWVf YnVmX2NhY2hlKGJsa2Rldik7CisKICAgICBpZiAoYmxrZGV2LT5ibGspIHsKICAgICAgICAgYmxr X2RldGFjaF9kZXYoYmxrZGV2LT5ibGssIGJsa2Rldik7CiAgICAgICAgIGJsa191bnJlZihibGtk ZXYtPmJsayk7Ci0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5v cmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==