From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: [PATCH RFC 1/2] xen/page_alloc: Add size_align parameter to provide MFNs which are size aligned. Date: Tue, 29 Nov 2016 23:39:38 -0500 Message-ID: <1480480779-12078-2-git-send-email-konrad.wilk@oracle.com> References: <1480480779-12078-1-git-send-email-konrad.wilk@oracle.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.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cBwgX-00028H-Jk for xen-devel@lists.xenproject.org; Wed, 30 Nov 2016 04:39:57 +0000 Received: by mail-qk0-f193.google.com with SMTP id y205so20422551qkb.1 for ; Tue, 29 Nov 2016 20:39:55 -0800 (PST) In-Reply-To: <1480480779-12078-1-git-send-email-konrad.wilk@oracle.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, konrad@kernel.org, boris.ostrovsky@oracle.com, jgross@suse.com Cc: sstabellini@kernel.org, wei.liu2@citrix.com, martin.petersen@oracle.com, George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, tim@xen.org, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org VGhpcyBpcyB0byBzdXBwb3J0IHRoZSByZXF1aXJlbWVudCB0aGF0IGV4aXN0cyBpbiBQViBkb20w CndoZW4gZG9pbmcgRE1BIHJlcXVlc3RzOgoKImRtYV9hbGxvY19jb2hlcmVudCgpClsuLi5dClRo ZSBDUFUgdmlydHVhbCBhZGRyZXNzIGFuZCB0aGUgRE1BIGFkZHJlc3MgYXJlIGJvdGggZ3VhcmFu dGVlZCB0byBiZQphbGlnbmVkIHRvIHRoZSBzbWFsbGVzdCBQQUdFX1NJWkUgb3JkZXIgd2hpY2gg aXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsCnRvIHRoZSByZXF1ZXN0ZWQgc2l6ZS4gIFRoaXMgaW52 YXJpYW50IGV4aXN0cyAoZm9yIGV4YW1wbGUpIHRvIGd1YXJhbnRlZQp0aGF0IGlmIHlvdSBhbGxv Y2F0ZSBhIGNodW5rIHdoaWNoIGlzIHNtYWxsZXIgdGhhbiBvciBlcXVhbCB0byA2NApraWxvYnl0 ZXMsIHRoZSBleHRlbnQgb2YgdGhlIGJ1ZmZlciB5b3UgcmVjZWl2ZSB3aWxsIG5vdCBjcm9zcyBh IDY0Swpib3VuZGFyeS4iCgpTaWduZWQtb2ZmLWJ5OiBLb25yYWQgUnplc3p1dGVrIFdpbGsgPGtv bnJhZC53aWxrQG9yYWNsZS5jb20+Ci0tLQogeGVuL2NvbW1vbi9tZW1vcnkuYyAgICAgICAgIHwg IDMgKysrCiB4ZW4vY29tbW9uL3BhZ2VfYWxsb2MuYyAgICAgfCAyMiArKysrKysrKysrKysrKysr KysrKystCiB4ZW4vaW5jbHVkZS9wdWJsaWMvbWVtb3J5LmggfCAgMiArKwogeGVuL2luY2x1ZGUv eGVuL21tLmggICAgICAgIHwgIDIgKysKIDQgZmlsZXMgY2hhbmdlZCwgMjggaW5zZXJ0aW9ucygr KSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vbWVtb3J5LmMgYi94ZW4v Y29tbW9uL21lbW9yeS5jCmluZGV4IDIxNzk3Y2EuLmE0YzBjNTQgMTAwNjQ0Ci0tLSBhL3hlbi9j b21tb24vbWVtb3J5LmMKKysrIGIveGVuL2NvbW1vbi9tZW1vcnkuYwpAQCAtNDc1LDYgKzQ3NSw5 IEBAIHN0YXRpYyBsb25nIG1lbW9yeV9leGNoYW5nZShYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhl bl9tZW1vcnlfZXhjaGFuZ2VfdCkgYXJnKQogICAgICAgICAoQklUU19QRVJfTE9ORytQQUdFX1NI SUZUKSkpOwogICAgIG1lbWZsYWdzIHw9IE1FTUZfbm9kZShYRU5NRU1GX2dldF9ub2RlKGV4Y2gu b3V0Lm1lbV9mbGFncykpOwogCisgICAgaWYgKCBYRU5NRU1GX2FsaWduX3NpemUgJiBleGNoLm91 dC5tZW1fZmxhZ3MgJiYgaXNfaGFyZHdhcmVfZG9tYWluKGQpICkKKyAgICAgICAgbWVtZmxhZ3Mg fD0gTUVNRl9zaXplX2FsaWduOworCiAgICAgZm9yICggaSA9IChleGNoLm5yX2V4Y2hhbmdlZCA+ PiBpbl9jaHVua19vcmRlcik7CiAgICAgICAgICAgaSA8IChleGNoLmluLm5yX2V4dGVudHMgPj4g aW5fY2h1bmtfb3JkZXIpOwogICAgICAgICAgIGkrKyApCmRpZmYgLS1naXQgYS94ZW4vY29tbW9u L3BhZ2VfYWxsb2MuYyBiL3hlbi9jb21tb24vcGFnZV9hbGxvYy5jCmluZGV4IGFlMjQ3NmQuLmU0 M2Y1MmYgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vcGFnZV9hbGxvYy5jCisrKyBiL3hlbi9jb21t b24vcGFnZV9hbGxvYy5jCkBAIC03MzgsNyArNzM4LDcgQEAgc3RhdGljIHN0cnVjdCBwYWdlX2lu Zm8gKmFsbG9jX2hlYXBfcGFnZXMoCiAgICAgICogT3RoZXJzIHRyeSB0bWVtIHBvb2xzIHRoZW4g ZmFpbC4gIFRoaXMgaXMgYSB3b3JrYXJvdW5kIHVudGlsIGFsbAogICAgICAqIHBvc3QtZG9tMC1j cmVhdGlvbi1tdWx0aS1wYWdlIGFsbG9jYXRpb25zIGNhbiBiZSBlbGltaW5hdGVkLgogICAgICAq LwotICAgIGlmICggKChvcmRlciA9PSAwKSB8fCAob3JkZXIgPj0gOSkpICYmCisgICAgaWYgKCAo KG9yZGVyID09IDApIHx8IChvcmRlciA+PSA5KSkgJiYgIShtZW1mbGFncyAmIE1FTUZfc2l6ZV9h bGlnbikgJiYKICAgICAgICAgICh0b3RhbF9hdmFpbF9wYWdlcyA8PSBtaWRzaXplX2FsbG9jX3pv bmVfcGFnZXMpICYmCiAgICAgICAgICB0bWVtX2ZyZWVhYmxlX3BhZ2VzKCkgKQogICAgICAgICBn b3RvIHRyeV90bWVtOwpAQCAtNzUyLDE0ICs3NTIsMzQgQEAgc3RhdGljIHN0cnVjdCBwYWdlX2lu Zm8gKmFsbG9jX2hlYXBfcGFnZXMoCiAgICAgewogICAgICAgICB6b25lID0gem9uZV9oaTsKICAg ICAgICAgZG8geworICAgICAgICAgICAgc3RydWN0IHBhZ2VfaW5mbyAqb2xkID0gTlVMTDsKKwog ICAgICAgICAgICAgLyogQ2hlY2sgaWYgdGFyZ2V0IG5vZGUgY2FuIHN1cHBvcnQgdGhlIGFsbG9j YXRpb24uICovCiAgICAgICAgICAgICBpZiAoICFhdmFpbFtub2RlXSB8fCAoYXZhaWxbbm9kZV1b em9uZV0gPCByZXF1ZXN0KSApCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAg ICAgIC8qIEZpbmQgc21hbGxlc3Qgb3JkZXIgd2hpY2ggY2FuIHNhdGlzZnkgdGhlIHJlcXVlc3Qu ICovCiAgICAgICAgICAgICBmb3IgKCBqID0gb3JkZXI7IGogPD0gTUFYX09SREVSOyBqKysgKQor ICAgICAgICAgICAgeworIG5leHRfcGFnZToKICAgICAgICAgICAgICAgICBpZiAoIChwZyA9IHBh Z2VfbGlzdF9yZW1vdmVfaGVhZCgmaGVhcChub2RlLCB6b25lLCBqKSkpICkKKyAgICAgICAgICAg ICAgICB7CisgICAgICAgICAgICAgICAgICAgIGlmICggbWVtZmxhZ3MgJiBNRU1GX3NpemVfYWxp Z24gKQorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAo cGcgPT0gb2xkKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAg ICAgICAgICAgICAgICAgICAgICBpZiAoIChwYWdlX3RvX21mbihwZykgJSByZXF1ZXN0ICkgPT0g MCApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmb3VuZDsKKworICAgICAgICAg ICAgICAgICAgICAgICAgcGFnZV9saXN0X2FkZF90YWlsKHBnLCAmaGVhcChub2RlLCB6b25lLCBq KSk7CisgICAgICAgICAgICAgICAgICAgICAgICBvbGQgPSBwZzsKKyAgICAgICAgICAgICAgICAg ICAgICAgIHBnID0gTlVMTDsKKyAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gbmV4dF9wYWdl OworICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIGdvdG8gZm91bmQ7 CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQogICAgICAgICB9IHdoaWxlICggem9u ZS0tID4gem9uZV9sbyApOyAvKiBjYXJlZnVsOiB1bnNpZ25lZCB6b25lIG1heSB3cmFwICovCiAK ICAgICAgICAgaWYgKCAobWVtZmxhZ3MgJiBNRU1GX2V4YWN0X25vZGUpICYmIHJlcV9ub2RlICE9 IE5VTUFfTk9fTk9ERSApCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvbWVtb3J5Lmgg Yi94ZW4vaW5jbHVkZS9wdWJsaWMvbWVtb3J5LmgKaW5kZXggNWJmODQwZi4uMzExZTdkOCAxMDA2 NDQKLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL21lbW9yeS5oCisrKyBiL3hlbi9pbmNsdWRlL3B1 YmxpYy9tZW1vcnkuaApAQCAtNTgsNiArNTgsOCBAQAogI2RlZmluZSBYRU5NRU1GX2V4YWN0X25v ZGUobikgKFhFTk1FTUZfbm9kZShuKSB8IFhFTk1FTUZfZXhhY3Rfbm9kZV9yZXF1ZXN0KQogLyog RmxhZyB0byBpbmRpY2F0ZSB0aGUgbm9kZSBzcGVjaWZpZWQgaXMgdmlydHVhbCBub2RlICovCiAj ZGVmaW5lIFhFTk1FTUZfdm5vZGUgICgxPDwxOCkKKy8qIEZsYWcgdG8gaW5kaWNhdGUgdGhlIGFs bG9jYXRpb24gdG8gYmUgc2l6ZSBhbGlnbmVkLiAqLworI2RlZmluZSBYRU5NRU1GX2FsaWduX3Np emUgKDFVPDwxOSkKICNlbmRpZgogCiBzdHJ1Y3QgeGVuX21lbW9yeV9yZXNlcnZhdGlvbiB7CmRp ZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vbW0uaCBiL3hlbi9pbmNsdWRlL3hlbi9tbS5oCmlu ZGV4IDc2ZmJiODIuLmM1MDUxNzAgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9tbS5oCisr KyBiL3hlbi9pbmNsdWRlL3hlbi9tbS5oCkBAIC0yMjQsNiArMjI0LDggQEAgc3RydWN0IG5wZmVj IHsKICNkZWZpbmUgIE1FTUZfbm9fb3duZXIgICAgKDFVPDxfTUVNRl9ub19vd25lcikKICNkZWZp bmUgX01FTUZfbm9fdGxiZmx1c2ggNgogI2RlZmluZSAgTUVNRl9ub190bGJmbHVzaCAoMVU8PF9N RU1GX25vX3RsYmZsdXNoKQorI2RlZmluZSBfTUVNRl9zaXplX2FsaWduICA3CisjZGVmaW5lICBN RU1GX3NpemVfYWxpZ24gICgxVTw8X01FTUZfc2l6ZV9hbGlnbikKICNkZWZpbmUgX01FTUZfbm9k ZSAgICAgICAgOAogI2RlZmluZSAgTUVNRl9ub2RlX21hc2sgICAoKDFVIDw8ICg4ICogc2l6ZW9m KG5vZGVpZF90KSkpIC0gMSkKICNkZWZpbmUgIE1FTUZfbm9kZShuKSAgICAgKCgoKG4pICsgMSkg JiBNRU1GX25vZGVfbWFzaykgPDwgX01FTUZfbm9kZSkKLS0gCjIuNy40CgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlz dApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVs Cg==