From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: [PATCH v2 16/20] block/xen-blkback: Make it running on 64KB page granularity Date: Thu, 9 Jul 2015 21:42:28 +0100 Message-ID: <1436474552-31789-17-git-send-email-julien.grall__31410.4117722765$1436474859$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.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1ZDIhL-0000pM-I2 for xen-devel@lists.xenproject.org; Thu, 09 Jul 2015 20:45:35 +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 VGhlIFBWIGJsb2NrIHByb3RvY29sIGlzIHVzaW5nIDRLQiBwYWdlIGdyYW51bGFyaXR5LiBUaGUg Z29hbCBvZiB0aGlzCnBhdGNoIGlzIHRvIGFsbG93IGEgTGludXggdXNpbmcgNjRLQiBwYWdlIGdy YW51bGFyaXR5IGJlaGF2aW5nIGFzIGEKYmxvY2sgYmFja2VuZCBvbiBhIG5vbi1tb2RpZmllZCBY ZW4uCgpJdCdzIG9ubHkgbmVjZXNzYXJ5IHRvIGFkYXB0IHRoZSByaW5nIHNpemUgYW5kIHRoZSBu dW1iZXIgb2YgcmVxdWVzdCBwZXIKaW5kaXJlY3QgZnJhbWVzLiBUaGUgcmVzdCBvZiB0aGUgY29k ZSBpcyByZWx5aW5nIG9uIHRoZSBncmFudCB0YWJsZQpjb2RlLgoKTm90ZSB0aGF0IHRoZSBncmFu dCB0YWJsZSBjb2RlIGlzIGFsbG9jYXRpbmcgYSBMaW51eCBwYWdlIHBlciBncmFudAp3aGljaCB3 aWxsIHJlc3VsdCB0byB3YXN0ZSA2T0tCIGZvciBldmVyeSBncmFudCB3aGVuIExpbnV4IGlzIHVz aW5nIDY0S0IKcGFnZSBncmFudWxhcml0eS4gVGhpcyBjb3VsZCBiZSBpbXByb3ZlZCBieSBzaGFy aW5nIHRoZSBwYWdlIGJldHdlZW4KbXVsdGlwbGUgZ3JhbnRzLgoKU2lnbmVkLW9mZi1ieTogSnVs aWVuIEdyYWxsIDxqdWxpZW4uZ3JhbGxAY2l0cml4LmNvbT4KQ2M6IEtvbnJhZCBSemVzenV0ZWsg V2lsayA8a29ucmFkLndpbGtAb3JhY2xlLmNvbT4KQ2M6ICJSb2dlciBQYXUgTW9ubsOpIiA8cm9n ZXIucGF1QGNpdHJpeC5jb20+CkNjOiBCb3JpcyBPc3Ryb3Zza3kgPGJvcmlzLm9zdHJvdnNreUBv cmFjbGUuY29tPgpDYzogRGF2aWQgVnJhYmVsIDxkYXZpZC52cmFiZWxAY2l0cml4LmNvbT4KLS0t CgpJbXByb3ZlbWVudCBzdWNoIGFzIHN1cHBvcnQgb2YgNjRLQiBncmFudCBpcyBub3QgdGFrZW4g aW50bwpjb25zaWRlcmF0aW9uIGluIHRoaXMgcGF0Y2ggYmVjYXVzZSB3ZSBoYXZlIHRoZSByZXF1 aXJlbWVudCB0byBydW4gYQpMaW51eCB1c2luZyA2NEtCIHBhZ2VzIG9uIGEgbm9uLW1vZGlmaWVk IFhlbi4KClRoaXMgaGFzIGJlZW4gdGVzdGVkIG9ubHkgd2l0aCBhIGxvb3AgZGV2aWNlLiBJIHBs YW4gdG8gdGVzdCBwYXNzaW5nCmhhcmQgZHJpdmUgcGFydGl0aW9uIGJ1dCBJIGRpZG4ndCB5ZXQg Y29udmVydCB0aGUgc3dpb3RsYiBjb2RlLgotLS0KIGRyaXZlcnMvYmxvY2sveGVuLWJsa2JhY2sv YmxrYmFjay5jIHwgIDUgKysrLS0KIGRyaXZlcnMvYmxvY2sveGVuLWJsa2JhY2svY29tbW9uLmgg IHwgMTYgKysrKysrKysrKysrKy0tLQogZHJpdmVycy9ibG9jay94ZW4tYmxrYmFjay94ZW5idXMu YyAgfCAgOSArKysrKystLS0KIDMgZmlsZXMgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgOCBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL3hlbi1ibGtiYWNrL2Jsa2Jh Y2suYyBiL2RyaXZlcnMvYmxvY2sveGVuLWJsa2JhY2svYmxrYmFjay5jCmluZGV4IGNlZDk2Nzcu LmQ1Y2NlOGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYmxvY2sveGVuLWJsa2JhY2svYmxrYmFjay5j CisrKyBiL2RyaXZlcnMvYmxvY2sveGVuLWJsa2JhY2svYmxrYmFjay5jCkBAIC05NjEsNyArOTYx LDcgQEAgc3RhdGljIGludCB4ZW5fYmxrYmtfcGFyc2VfaW5kaXJlY3Qoc3RydWN0IGJsa2lmX3Jl cXVlc3QgKnJlcSwKIAkJc2VnW25dLm5zZWMgPSBzZWdtZW50c1tpXS5sYXN0X3NlY3QgLQogCQkJ c2VnbWVudHNbaV0uZmlyc3Rfc2VjdCArIDE7CiAJCXNlZ1tuXS5vZmZzZXQgPSAoc2VnbWVudHNb aV0uZmlyc3Rfc2VjdCA8PCA5KTsKLQkJaWYgKChzZWdtZW50c1tpXS5sYXN0X3NlY3QgPj0gKFBB R0VfU0laRSA+PiA5KSkgfHwKKwkJaWYgKChzZWdtZW50c1tpXS5sYXN0X3NlY3QgPj0gKFhFTl9Q QUdFX1NJWkUgPj4gOSkpIHx8CiAJCSAgICAoc2VnbWVudHNbaV0ubGFzdF9zZWN0IDwgc2VnbWVu dHNbaV0uZmlyc3Rfc2VjdCkpIHsKIAkJCXJjID0gLUVJTlZBTDsKIAkJCWdvdG8gdW5tYXA7CkBA IC0xMjEwLDYgKzEyMTAsNyBAQCBzdGF0aWMgaW50IGRpc3BhdGNoX3J3X2Jsb2NrX2lvKHN0cnVj dCB4ZW5fYmxraWYgKmJsa2lmLAogCiAJcmVxX29wZXJhdGlvbiA9IHJlcS0+b3BlcmF0aW9uID09 IEJMS0lGX09QX0lORElSRUNUID8KIAkJCXJlcS0+dS5pbmRpcmVjdC5pbmRpcmVjdF9vcCA6IHJl cS0+b3BlcmF0aW9uOworCiAJaWYgKChyZXEtPm9wZXJhdGlvbiA9PSBCTEtJRl9PUF9JTkRJUkVD VCkgJiYKIAkgICAgKHJlcV9vcGVyYXRpb24gIT0gQkxLSUZfT1BfUkVBRCkgJiYKIAkgICAgKHJl cV9vcGVyYXRpb24gIT0gQkxLSUZfT1BfV1JJVEUpKSB7CkBAIC0xMjY4LDcgKzEyNjksNyBAQCBz dGF0aWMgaW50IGRpc3BhdGNoX3J3X2Jsb2NrX2lvKHN0cnVjdCB4ZW5fYmxraWYgKmJsa2lmLAog CQkJc2VnW2ldLm5zZWMgPSByZXEtPnUucncuc2VnW2ldLmxhc3Rfc2VjdCAtCiAJCQkJcmVxLT51 LnJ3LnNlZ1tpXS5maXJzdF9zZWN0ICsgMTsKIAkJCXNlZ1tpXS5vZmZzZXQgPSAocmVxLT51LnJ3 LnNlZ1tpXS5maXJzdF9zZWN0IDw8IDkpOwotCQkJaWYgKChyZXEtPnUucncuc2VnW2ldLmxhc3Rf c2VjdCA+PSAoUEFHRV9TSVpFID4+IDkpKSB8fAorCQkJaWYgKChyZXEtPnUucncuc2VnW2ldLmxh c3Rfc2VjdCA+PSAoWEVOX1BBR0VfU0laRSA+PiA5KSkgfHwKIAkJCSAgICAocmVxLT51LnJ3LnNl Z1tpXS5sYXN0X3NlY3QgPAogCQkJICAgICByZXEtPnUucncuc2VnW2ldLmZpcnN0X3NlY3QpKQog CQkJCWdvdG8gZmFpbF9yZXNwb25zZTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2sveGVuLWJs a2JhY2svY29tbW9uLmggYi9kcml2ZXJzL2Jsb2NrL3hlbi1ibGtiYWNrL2NvbW1vbi5oCmluZGV4 IDQ1YTA0NGEuLjMzODM2YmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYmxvY2sveGVuLWJsa2JhY2sv Y29tbW9uLmgKKysrIGIvZHJpdmVycy9ibG9jay94ZW4tYmxrYmFjay9jb21tb24uaApAQCAtMzks NiArMzksNyBAQAogI2luY2x1ZGUgPGFzbS9wZ2FsbG9jLmg+CiAjaW5jbHVkZSA8YXNtL2h5cGVy dmlzb3IuaD4KICNpbmNsdWRlIDx4ZW4vZ3JhbnRfdGFibGUuaD4KKyNpbmNsdWRlIDx4ZW4vcGFn ZS5oPgogI2luY2x1ZGUgPHhlbi94ZW5idXMuaD4KICNpbmNsdWRlIDx4ZW4vaW50ZXJmYWNlL2lv L3JpbmcuaD4KICNpbmNsdWRlIDx4ZW4vaW50ZXJmYWNlL2lvL2Jsa2lmLmg+CkBAIC01MSwxMiAr NTIsMjEgQEAgZXh0ZXJuIHVuc2lnbmVkIGludCB4ZW5fYmxraWZfbWF4X3Jpbmdfb3JkZXI7CiAg Ki8KICNkZWZpbmUgTUFYX0lORElSRUNUX1NFR01FTlRTIDI1NgogCi0jZGVmaW5lIFNFR1NfUEVS X0lORElSRUNUX0ZSQU1FIFwKLQkoUEFHRV9TSVpFL3NpemVvZihzdHJ1Y3QgYmxraWZfcmVxdWVz dF9zZWdtZW50KSkKKy8qCisgKiBYZW4gdXNlIDRLIHBhZ2VzLiBUaGUgZ3Vlc3QgbWF5IHVzZSBk aWZmZXJlbnQgcGFnZSBzaXplICg0SyBvciA2NEspCisgKiBOdW1iZXIgb2YgWGVuIHBhZ2VzIHBl ciBzZWdtZW50CisgKi8KKyNkZWZpbmUgWEVOX1BBR0VTX1BFUl9TRUdNRU5UICAgKFBBR0VfU0la RSAvIFhFTl9QQUdFX1NJWkUpCisKKyNkZWZpbmUgU0VHU19QRVJfSU5ESVJFQ1RfRlJBTUUJXAor CShYRU5fUEFHRV9TSVpFL3NpemVvZihzdHJ1Y3QgYmxraWZfcmVxdWVzdF9zZWdtZW50KSAvIFhF Tl9QQUdFU19QRVJfU0VHTUVOVCkKKyNkZWZpbmUgWEVOX1BBR0VTX1BFUl9JTkRJUkVDVF9GUkFN RSBcCisJKFhFTl9QQUdFX1NJWkUvc2l6ZW9mKHN0cnVjdCBibGtpZl9yZXF1ZXN0X3NlZ21lbnQp KQorCiAjZGVmaW5lIE1BWF9JTkRJUkVDVF9QQUdFUyBcCiAJKChNQVhfSU5ESVJFQ1RfU0VHTUVO VFMgKyBTRUdTX1BFUl9JTkRJUkVDVF9GUkFNRSAtIDEpL1NFR1NfUEVSX0lORElSRUNUX0ZSQU1F KQogI2RlZmluZSBJTkRJUkVDVF9QQUdFUyhfc2VncykgXAotCSgoX3NlZ3MgKyBTRUdTX1BFUl9J TkRJUkVDVF9GUkFNRSAtIDEpL1NFR1NfUEVSX0lORElSRUNUX0ZSQU1FKQorCSgoX3NlZ3MgKyBY RU5fUEFHRVNfUEVSX0lORElSRUNUX0ZSQU1FIC0gMSkvWEVOX1BBR0VTX1BFUl9JTkRJUkVDVF9G UkFNRSkKIAogLyogTm90IGEgcmVhbCBwcm90b2NvbC4gIFVzZWQgdG8gZ2VuZXJhdGUgcmluZyBz dHJ1Y3RzIHdoaWNoIGNvbnRhaW4KICAqIHRoZSBlbGVtZW50cyBjb21tb24gdG8gYWxsIHByb3Rv Y29scyBvbmx5LiAgVGhpcyB3YXkgd2UgZ2V0IGEKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2sv eGVuLWJsa2JhY2sveGVuYnVzLmMgYi9kcml2ZXJzL2Jsb2NrL3hlbi1ibGtiYWNrL3hlbmJ1cy5j CmluZGV4IGRlYjNmMDAuLmVkZDI3ZTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYmxvY2sveGVuLWJs a2JhY2sveGVuYnVzLmMKKysrIGIvZHJpdmVycy9ibG9jay94ZW4tYmxrYmFjay94ZW5idXMuYwpA QCAtMTc2LDIxICsxNzYsMjQgQEAgc3RhdGljIGludCB4ZW5fYmxraWZfbWFwKHN0cnVjdCB4ZW5f YmxraWYgKmJsa2lmLCBncmFudF9yZWZfdCAqZ3JlZiwKIAl7CiAJCXN0cnVjdCBibGtpZl9zcmlu ZyAqc3Jpbmc7CiAJCXNyaW5nID0gKHN0cnVjdCBibGtpZl9zcmluZyAqKWJsa2lmLT5ibGtfcmlu ZzsKLQkJQkFDS19SSU5HX0lOSVQoJmJsa2lmLT5ibGtfcmluZ3MubmF0aXZlLCBzcmluZywgUEFH RV9TSVpFICogbnJfZ3JlZnMpOworCQlCQUNLX1JJTkdfSU5JVCgmYmxraWYtPmJsa19yaW5ncy5u YXRpdmUsIHNyaW5nLAorCQkJICAgICAgIFhFTl9QQUdFX1NJWkUgKiBucl9ncmVmcyk7CiAJCWJy ZWFrOwogCX0KIAljYXNlIEJMS0lGX1BST1RPQ09MX1g4Nl8zMjoKIAl7CiAJCXN0cnVjdCBibGtp Zl94ODZfMzJfc3JpbmcgKnNyaW5nX3g4Nl8zMjsKIAkJc3JpbmdfeDg2XzMyID0gKHN0cnVjdCBi bGtpZl94ODZfMzJfc3JpbmcgKilibGtpZi0+YmxrX3Jpbmc7Ci0JCUJBQ0tfUklOR19JTklUKCZi bGtpZi0+YmxrX3JpbmdzLng4Nl8zMiwgc3JpbmdfeDg2XzMyLCBQQUdFX1NJWkUgKiBucl9ncmVm cyk7CisJCUJBQ0tfUklOR19JTklUKCZibGtpZi0+YmxrX3JpbmdzLng4Nl8zMiwgc3JpbmdfeDg2 XzMyLAorCQkJICAgICAgIFhFTl9QQUdFX1NJWkUgKiBucl9ncmVmcyk7CiAJCWJyZWFrOwogCX0K IAljYXNlIEJMS0lGX1BST1RPQ09MX1g4Nl82NDoKIAl7CiAJCXN0cnVjdCBibGtpZl94ODZfNjRf c3JpbmcgKnNyaW5nX3g4Nl82NDsKIAkJc3JpbmdfeDg2XzY0ID0gKHN0cnVjdCBibGtpZl94ODZf NjRfc3JpbmcgKilibGtpZi0+YmxrX3Jpbmc7Ci0JCUJBQ0tfUklOR19JTklUKCZibGtpZi0+Ymxr X3JpbmdzLng4Nl82NCwgc3JpbmdfeDg2XzY0LCBQQUdFX1NJWkUgKiBucl9ncmVmcyk7CisJCUJB Q0tfUklOR19JTklUKCZibGtpZi0+YmxrX3JpbmdzLng4Nl82NCwgc3JpbmdfeDg2XzY0LAorCQkJ ICAgICAgIFhFTl9QQUdFX1NJWkUgKiBucl9ncmVmcyk7CiAJCWJyZWFrOwogCX0KIAlkZWZhdWx0 OgotLSAKMi4xLjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6 Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=