From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: [PATCH v2 06/20] block/xen-blkfront: Store a page rather a pfn in the grant structure Date: Thu, 9 Jul 2015 21:42:18 +0100 Message-ID: <1436474552-31789-7-git-send-email-julien.grall__23337.738417513$1436474759$gmane$org@citrix.com> References: <1436474552-31789-1-git-send-email-julien.grall@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.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1ZDIfW-0008Ca-DN for xen-devel@lists.xenproject.org; Thu, 09 Jul 2015 20:43:42 +0000 In-Reply-To: <1436474552-31789-1-git-send-email-julien.grall@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xenproject.org Cc: ian.campbell@citrix.com, stefano.stabellini@eu.citrix.com, linux-kernel@vger.kernel.org, Julien Grall , David Vrabel , Boris Ostrovsky , linux-arm-kernel@lists.infradead.org, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org QWxsIHRoZSB1c2FnZSBvZiB0aGUgZmllbGQgcGZuIGFyZSBkb25lIHVzaW5nIHRoZSBzYW1lIGlk aW9tOgoKcGZuX3RvX3BhZ2UoZ3JhbnQtPnBmbikKClRoaXMgd2lsbCAgcmV0dXJuIGFsd2F5cyB0 aGUgc2FtZSBwYWdlLiBTdG9yZSBkaXJlY3RseSB0aGUgcGFnZSBpbiB0aGUKZ3JhbnQgdG8gY2xl YW4gdXAgdGhlIGNvZGUuCgpTaWduZWQtb2ZmLWJ5OiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFs bEBjaXRyaXguY29tPgpDYzogS29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFj bGUuY29tPgpDYzogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CkNjOiBC b3JpcyBPc3Ryb3Zza3kgPGJvcmlzLm9zdHJvdnNreUBvcmFjbGUuY29tPgpDYzogRGF2aWQgVnJh YmVsIDxkYXZpZC52cmFiZWxAY2l0cml4LmNvbT4KLS0tCiAgICBDaGFuZ2VzIGluIHYyOgogICAg ICAgIC0gUGF0Y2ggYWRkZWQKLS0tCiBkcml2ZXJzL2Jsb2NrL3hlbi1ibGtmcm9udC5jIHwgMzcg KysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE4 IGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxv Y2sveGVuLWJsa2Zyb250LmMgYi9kcml2ZXJzL2Jsb2NrL3hlbi1ibGtmcm9udC5jCmluZGV4IDcx MDdkNTguLjdiODFkMjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYmxvY2sveGVuLWJsa2Zyb250LmMK KysrIGIvZHJpdmVycy9ibG9jay94ZW4tYmxrZnJvbnQuYwpAQCAtNjcsNyArNjcsNyBAQCBlbnVt IGJsa2lmX3N0YXRlIHsKIAogc3RydWN0IGdyYW50IHsKIAlncmFudF9yZWZfdCBncmVmOwotCXVu c2lnbmVkIGxvbmcgcGZuOworCXN0cnVjdCBwYWdlICpwYWdlOwogCXN0cnVjdCBsaXN0X2hlYWQg bm9kZTsKIH07CiAKQEAgLTIxOSw3ICsyMTksNyBAQCBzdGF0aWMgaW50IGZpbGxfZ3JhbnRfYnVm ZmVyKHN0cnVjdCBibGtmcm9udF9pbmZvICppbmZvLCBpbnQgbnVtKQogCQkJCWtmcmVlKGdudF9s aXN0X2VudHJ5KTsKIAkJCQlnb3RvIG91dF9vZl9tZW1vcnk7CiAJCQl9Ci0JCQlnbnRfbGlzdF9l bnRyeS0+cGZuID0gcGFnZV90b19wZm4oZ3JhbnRlZF9wYWdlKTsKKwkJCWdudF9saXN0X2VudHJ5 LT5wYWdlID0gZ3JhbnRlZF9wYWdlOwogCQl9CiAKIAkJZ250X2xpc3RfZW50cnktPmdyZWYgPSBH UkFOVF9JTlZBTElEX1JFRjsKQEAgLTIzNCw3ICsyMzQsNyBAQCBvdXRfb2ZfbWVtb3J5OgogCSAg ICAgICAgICAgICAgICAgICAgICAgICAmaW5mby0+Z3JhbnRzLCBub2RlKSB7CiAJCWxpc3RfZGVs KCZnbnRfbGlzdF9lbnRyeS0+bm9kZSk7CiAJCWlmIChpbmZvLT5mZWF0dXJlX3BlcnNpc3RlbnQp Ci0JCQlfX2ZyZWVfcGFnZShwZm5fdG9fcGFnZShnbnRfbGlzdF9lbnRyeS0+cGZuKSk7CisJCQlf X2ZyZWVfcGFnZShnbnRfbGlzdF9lbnRyeS0+cGFnZSk7CiAJCWtmcmVlKGdudF9saXN0X2VudHJ5 KTsKIAkJaS0tOwogCX0KQEAgLTI0Myw3ICsyNDMsNyBAQCBvdXRfb2ZfbWVtb3J5OgogfQogCiBz dGF0aWMgc3RydWN0IGdyYW50ICpnZXRfZ3JhbnQoZ3JhbnRfcmVmX3QgKmdyZWZfaGVhZCwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHBmbiwKKwkJCSAgICAg ICBzdHJ1Y3QgcGFnZSAqcGFnZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1 Y3QgYmxrZnJvbnRfaW5mbyAqaW5mbykKIHsKIAlzdHJ1Y3QgZ3JhbnQgKmdudF9saXN0X2VudHJ5 OwpAQCAtMjYzLDEwICsyNjMsMTAgQEAgc3RhdGljIHN0cnVjdCBncmFudCAqZ2V0X2dyYW50KGdy YW50X3JlZl90ICpncmVmX2hlYWQsCiAJZ250X2xpc3RfZW50cnktPmdyZWYgPSBnbnR0YWJfY2xh aW1fZ3JhbnRfcmVmZXJlbmNlKGdyZWZfaGVhZCk7CiAJQlVHX09OKGdudF9saXN0X2VudHJ5LT5n cmVmID09IC1FTk9TUEMpOwogCWlmICghaW5mby0+ZmVhdHVyZV9wZXJzaXN0ZW50KSB7Ci0JCUJV R19PTighcGZuKTsKLQkJZ250X2xpc3RfZW50cnktPnBmbiA9IHBmbjsKKwkJQlVHX09OKCFwYWdl KTsKKwkJZ250X2xpc3RfZW50cnktPnBhZ2UgPSBwYWdlOwogCX0KLQlidWZmZXJfbWZuID0gcGZu X3RvX21mbihnbnRfbGlzdF9lbnRyeS0+cGZuKTsKKwlidWZmZXJfbWZuID0gcGFnZV90b19tZm4o Z250X2xpc3RfZW50cnktPnBhZ2UpOwogCWdudHRhYl9ncmFudF9mb3JlaWduX2FjY2Vzc19yZWYo Z250X2xpc3RfZW50cnktPmdyZWYsCiAJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp bmZvLT54YmRldi0+b3RoZXJlbmRfaWQsCiAJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBidWZmZXJfbWZuLCAwKTsKQEAgLTUyMiw3ICs1MjIsNyBAQCBzdGF0aWMgaW50IGJsa2lmX3F1 ZXVlX3J3X3JlcShzdHJ1Y3QgcmVxdWVzdCAqcmVxKQogCiAJCWlmICgocmluZ19yZXEtPm9wZXJh dGlvbiA9PSBCTEtJRl9PUF9JTkRJUkVDVCkgJiYKIAkJICAgIChpICUgU0VHU19QRVJfSU5ESVJF Q1RfRlJBTUUgPT0gMCkpIHsKLQkJCXVuc2lnbmVkIGxvbmcgdW5pbml0aWFsaXplZF92YXIocGZu KTsKKwkJCXN0cnVjdCBwYWdlICp1bmluaXRpYWxpemVkX3ZhcihwYWdlKTsKIAogCQkJaWYgKHNl Z21lbnRzKQogCQkJCWt1bm1hcF9hdG9taWMoc2VnbWVudHMpOwpAQCAtNTM2LDE1ICs1MzYsMTUg QEAgc3RhdGljIGludCBibGtpZl9xdWV1ZV9yd19yZXEoc3RydWN0IHJlcXVlc3QgKnJlcSkKIAkJ CQlpbmRpcmVjdF9wYWdlID0gbGlzdF9maXJzdF9lbnRyeSgmaW5mby0+aW5kaXJlY3RfcGFnZXMs CiAJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHBhZ2UsIGxydSk7 CiAJCQkJbGlzdF9kZWwoJmluZGlyZWN0X3BhZ2UtPmxydSk7Ci0JCQkJcGZuID0gcGFnZV90b19w Zm4oaW5kaXJlY3RfcGFnZSk7CisJCQkJcGFnZSA9IGluZGlyZWN0X3BhZ2U7CiAJCQl9Ci0JCQln bnRfbGlzdF9lbnRyeSA9IGdldF9ncmFudCgmZ3JlZl9oZWFkLCBwZm4sIGluZm8pOworCQkJZ250 X2xpc3RfZW50cnkgPSBnZXRfZ3JhbnQoJmdyZWZfaGVhZCwgcGFnZSwgaW5mbyk7CiAJCQlpbmZv LT5zaGFkb3dbaWRdLmluZGlyZWN0X2dyYW50c1tuXSA9IGdudF9saXN0X2VudHJ5OwotCQkJc2Vn bWVudHMgPSBrbWFwX2F0b21pYyhwZm5fdG9fcGFnZShnbnRfbGlzdF9lbnRyeS0+cGZuKSk7CisJ CQlzZWdtZW50cyA9IGttYXBfYXRvbWljKGdudF9saXN0X2VudHJ5LT5wYWdlKTsKIAkJCXJpbmdf cmVxLT51LmluZGlyZWN0LmluZGlyZWN0X2dyZWZzW25dID0gZ250X2xpc3RfZW50cnktPmdyZWY7 CiAJCX0KIAotCQlnbnRfbGlzdF9lbnRyeSA9IGdldF9ncmFudCgmZ3JlZl9oZWFkLCBwYWdlX3Rv X3BmbihzZ19wYWdlKHNnKSksIGluZm8pOworCQlnbnRfbGlzdF9lbnRyeSA9IGdldF9ncmFudCgm Z3JlZl9oZWFkLCBzZ19wYWdlKHNnKSwgaW5mbyk7CiAJCXJlZiA9IGdudF9saXN0X2VudHJ5LT5n cmVmOwogCiAJCWluZm8tPnNoYWRvd1tpZF0uZ3JhbnRzX3VzZWRbaV0gPSBnbnRfbGlzdF9lbnRy eTsKQEAgLTU1NSw3ICs1NTUsNyBAQCBzdGF0aWMgaW50IGJsa2lmX3F1ZXVlX3J3X3JlcShzdHJ1 Y3QgcmVxdWVzdCAqcmVxKQogCiAJCQlCVUdfT04oc2ctPm9mZnNldCArIHNnLT5sZW5ndGggPiBQ QUdFX1NJWkUpOwogCi0JCQlzaGFyZWRfZGF0YSA9IGttYXBfYXRvbWljKHBmbl90b19wYWdlKGdu dF9saXN0X2VudHJ5LT5wZm4pKTsKKwkJCXNoYXJlZF9kYXRhID0ga21hcF9hdG9taWMoZ250X2xp c3RfZW50cnktPnBhZ2UpOwogCQkJYnZlY19kYXRhID0ga21hcF9hdG9taWMoc2dfcGFnZShzZykp OwogCiAJCQkvKgpAQCAtMTAwMiw3ICsxMDAyLDcgQEAgc3RhdGljIHZvaWQgYmxraWZfZnJlZShz dHJ1Y3QgYmxrZnJvbnRfaW5mbyAqaW5mbywgaW50IHN1c3BlbmQpCiAJCQkJaW5mby0+cGVyc2lz dGVudF9nbnRzX2MtLTsKIAkJCX0KIAkJCWlmIChpbmZvLT5mZWF0dXJlX3BlcnNpc3RlbnQpCi0J CQkJX19mcmVlX3BhZ2UocGZuX3RvX3BhZ2UocGVyc2lzdGVudF9nbnQtPnBmbikpOworCQkJCV9f ZnJlZV9wYWdlKHBlcnNpc3RlbnRfZ250LT5wYWdlKTsKIAkJCWtmcmVlKHBlcnNpc3RlbnRfZ250 KTsKIAkJfQogCX0KQEAgLTEwMzcsNyArMTAzNyw3IEBAIHN0YXRpYyB2b2lkIGJsa2lmX2ZyZWUo c3RydWN0IGJsa2Zyb250X2luZm8gKmluZm8sIGludCBzdXNwZW5kKQogCQkJcGVyc2lzdGVudF9n bnQgPSBpbmZvLT5zaGFkb3dbaV0uZ3JhbnRzX3VzZWRbal07CiAJCQlnbnR0YWJfZW5kX2ZvcmVp Z25fYWNjZXNzKHBlcnNpc3RlbnRfZ250LT5ncmVmLCAwLCAwVUwpOwogCQkJaWYgKGluZm8tPmZl YXR1cmVfcGVyc2lzdGVudCkKLQkJCQlfX2ZyZWVfcGFnZShwZm5fdG9fcGFnZShwZXJzaXN0ZW50 X2dudC0+cGZuKSk7CisJCQkJX19mcmVlX3BhZ2UocGVyc2lzdGVudF9nbnQtPnBhZ2UpOwogCQkJ a2ZyZWUocGVyc2lzdGVudF9nbnQpOwogCQl9CiAKQEAgLTEwNTEsNyArMTA1MSw3IEBAIHN0YXRp YyB2b2lkIGJsa2lmX2ZyZWUoc3RydWN0IGJsa2Zyb250X2luZm8gKmluZm8sIGludCBzdXNwZW5k KQogCQlmb3IgKGogPSAwOyBqIDwgSU5ESVJFQ1RfR1JFRlMoc2Vncyk7IGorKykgewogCQkJcGVy c2lzdGVudF9nbnQgPSBpbmZvLT5zaGFkb3dbaV0uaW5kaXJlY3RfZ3JhbnRzW2pdOwogCQkJZ250 dGFiX2VuZF9mb3JlaWduX2FjY2VzcyhwZXJzaXN0ZW50X2dudC0+Z3JlZiwgMCwgMFVMKTsKLQkJ CV9fZnJlZV9wYWdlKHBmbl90b19wYWdlKHBlcnNpc3RlbnRfZ250LT5wZm4pKTsKKwkJCV9fZnJl ZV9wYWdlKHBlcnNpc3RlbnRfZ250LT5wYWdlKTsKIAkJCWtmcmVlKHBlcnNpc3RlbnRfZ250KTsK IAkJfQogCkBAIC0xMTAyLDggKzExMDIsNyBAQCBzdGF0aWMgdm9pZCBibGtpZl9jb21wbGV0aW9u KHN0cnVjdCBibGtfc2hhZG93ICpzLCBzdHJ1Y3QgYmxrZnJvbnRfaW5mbyAqaW5mbywKIAlpZiAo YnJldC0+b3BlcmF0aW9uID09IEJMS0lGX09QX1JFQUQgJiYgaW5mby0+ZmVhdHVyZV9wZXJzaXN0 ZW50KSB7CiAJCWZvcl9lYWNoX3NnKHMtPnNnLCBzZywgbnNlZywgaSkgewogCQkJQlVHX09OKHNn LT5vZmZzZXQgKyBzZy0+bGVuZ3RoID4gUEFHRV9TSVpFKTsKLQkJCXNoYXJlZF9kYXRhID0ga21h cF9hdG9taWMoCi0JCQkJcGZuX3RvX3BhZ2Uocy0+Z3JhbnRzX3VzZWRbaV0tPnBmbikpOworCQkJ c2hhcmVkX2RhdGEgPSBrbWFwX2F0b21pYyhzLT5ncmFudHNfdXNlZFtpXS0+cGFnZSk7CiAJCQli dmVjX2RhdGEgPSBrbWFwX2F0b21pYyhzZ19wYWdlKHNnKSk7CiAJCQltZW1jcHkoYnZlY19kYXRh ICAgKyBzZy0+b2Zmc2V0LAogCQkJICAgICAgIHNoYXJlZF9kYXRhICsgc2ctPm9mZnNldCwKQEAg LTExNTQsNyArMTE1Myw3IEBAIHN0YXRpYyB2b2lkIGJsa2lmX2NvbXBsZXRpb24oc3RydWN0IGJs a19zaGFkb3cgKnMsIHN0cnVjdCBibGtmcm9udF9pbmZvICppbmZvLAogCQkJCSAqIEFkZCB0aGUg dXNlZCBpbmRpcmVjdCBwYWdlIGJhY2sgdG8gdGhlIGxpc3Qgb2YKIAkJCQkgKiBhdmFpbGFibGUg cGFnZXMgZm9yIGluZGlyZWN0IGdyZWZzLgogCQkJCSAqLwotCQkJCWluZGlyZWN0X3BhZ2UgPSBw Zm5fdG9fcGFnZShzLT5pbmRpcmVjdF9ncmFudHNbaV0tPnBmbik7CisJCQkJaW5kaXJlY3RfcGFn ZSA9IHMtPmluZGlyZWN0X2dyYW50c1tpXS0+cGFnZTsKIAkJCQlsaXN0X2FkZCgmaW5kaXJlY3Rf cGFnZS0+bHJ1LCAmaW5mby0+aW5kaXJlY3RfcGFnZXMpOwogCQkJCXMtPmluZGlyZWN0X2dyYW50 c1tpXS0+Z3JlZiA9IEdSQU5UX0lOVkFMSURfUkVGOwogCQkJCWxpc3RfYWRkX3RhaWwoJnMtPmlu ZGlyZWN0X2dyYW50c1tpXS0+bm9kZSwgJmluZm8tPmdyYW50cyk7Ci0tIAoyLjEuNAoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVu LWRldmVsCg==