From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: [PATCH v3 1/9] mm: Separate free page chunk merging into its own routine Date: Fri, 14 Apr 2017 11:37:30 -0400 Message-ID: <1492184258-3277-2-git-send-email-boris.ostrovsky@oracle.com> References: <1492184258-3277-1-git-send-email-boris.ostrovsky@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1492184258-3277-1-git-send-email-boris.ostrovsky@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.xen.org Cc: sstabellini@kernel.org, wei.liu2@citrix.com, George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, tim@xen.org, jbeulich@suse.com, Boris Ostrovsky List-Id: xen-devel@lists.xenproject.org VGhpcyBpcyBuZWVkZWQgZm9yIHN1YnNlcXVlbnQgY2hhbmdlcyB0byBtZW1vcnkgc2NydWJiaW5n LgoKU2lnbmVkLW9mZi1ieTogQm9yaXMgT3N0cm92c2t5IDxib3Jpcy5vc3Ryb3Zza3lAb3JhY2xl LmNvbT4KLS0tCgpDaGFuZ2VzIGluIHYzOgoqIFNpbXBsaWZ5IG1lcmdlX2FuZF9mcmVlX2J1ZGR5 KCkgKGFuZCBkcm9wIGNhbl9tZXJnZSgpKQoKIHhlbi9jb21tb24vcGFnZV9hbGxvYy5jIHwgICA3 NCArKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxl cyBjaGFuZ2VkLCA0MSBpbnNlcnRpb25zKCspLCAzMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS94ZW4vY29tbW9uL3BhZ2VfYWxsb2MuYyBiL3hlbi9jb21tb24vcGFnZV9hbGxvYy5jCmluZGV4 IDllNDFmYjQuLjZmZTU1ZWUgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vcGFnZV9hbGxvYy5jCisr KyBiL3hlbi9jb21tb24vcGFnZV9hbGxvYy5jCkBAIC05MTksMTEgKzkxOSw1MCBAQCBzdGF0aWMg aW50IHJlc2VydmVfb2ZmbGluZWRfcGFnZShzdHJ1Y3QgcGFnZV9pbmZvICpoZWFkKQogICAgIHJl dHVybiBjb3VudDsKIH0KIAorLyogUmV0dXJucyBuZXcgYnVkZHkgaGVhZC4gKi8KK3N0YXRpYyBz dHJ1Y3QgcGFnZV9pbmZvICoKK21lcmdlX2FuZF9mcmVlX2J1ZGR5KHN0cnVjdCBwYWdlX2luZm8g KnBnLCB1bnNpZ25lZCBpbnQgbm9kZSwKKyAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu dCB6b25lLCB1bnNpZ25lZCBpbnQgb3JkZXIpCit7CisgICAgQVNTRVJUKHNwaW5faXNfbG9ja2Vk KCZoZWFwX2xvY2spKTsKKworICAgIC8qIE1lcmdlIGNodW5rcyBhcyBmYXIgYXMgcG9zc2libGUu ICovCisgICAgd2hpbGUgKCBvcmRlciA8IE1BWF9PUkRFUiApCisgICAgeworICAgICAgICB1bnNp Z25lZCBsb25nIG1hc2sgPSAxVUwgPDwgb3JkZXI7CisgICAgICAgIHN0cnVjdCBwYWdlX2luZm8g KmJ1ZGR5OworCisgICAgICAgIGlmICggKHBhZ2VfdG9fbWZuKHBnKSAmIG1hc2spICkKKyAgICAg ICAgICAgIGJ1ZGR5ID0gcGcgLSBtYXNrOyAvKiBNZXJnZSB3aXRoIHByZWRlY2Vzc29yIGJsb2Nr LiAqLworICAgICAgICBlbHNlCisgICAgICAgICAgICBidWRkeSA9IHBnICsgbWFzazsgLyogTWVy Z2Ugd2l0aCBzdWNjZXNzb3IgYmxvY2suICovCisKKyAgICAgICAgaWYgKCAhbWZuX3ZhbGlkKF9t Zm4ocGFnZV90b19tZm4oYnVkZHkpKSkgfHwKKyAgICAgICAgICAgICAhcGFnZV9zdGF0ZV9pcyhi dWRkeSwgZnJlZSkgfHwKKyAgICAgICAgICAgICAoUEZOX09SREVSKGJ1ZGR5KSAhPSBvcmRlcikg fHwKKyAgICAgICAgICAgICAocGh5c190b19uaWQocGFnZV90b19tYWRkcihidWRkeSkpICE9IG5v ZGUpICkKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIHBhZ2VfbGlzdF9kZWwoYnVkZHks ICZoZWFwKG5vZGUsIHpvbmUsIG9yZGVyKSk7CisKKyAgICAgICAgLyogQWRqdXN0IGN1cnJlbnQg YnVkZHkgaGVhZCBpZiB3ZSBtZXJnZWQgYmFja3dhcmRzLiAqLworICAgICAgICBpZiAoIGJ1ZGR5 IDwgcGcgKQorICAgICAgICAgICAgcGcgPSBidWRkeTsKKworICAgICAgICBvcmRlcisrOworICAg IH0KKworICAgIFBGTl9PUkRFUihwZykgPSBvcmRlcjsKKyAgICBwYWdlX2xpc3RfYWRkX3RhaWwo cGcsICZoZWFwKG5vZGUsIHpvbmUsIG9yZGVyKSk7CisKKyAgICByZXR1cm4gcGc7Cit9CisKIC8q IEZyZWUgMl5Ab3JkZXIgc2V0IG9mIHBhZ2VzLiAqLwogc3RhdGljIHZvaWQgZnJlZV9oZWFwX3Bh Z2VzKAogICAgIHN0cnVjdCBwYWdlX2luZm8gKnBnLCB1bnNpZ25lZCBpbnQgb3JkZXIpCiB7Ci0g ICAgdW5zaWduZWQgbG9uZyBtYXNrLCBtZm4gPSBwYWdlX3RvX21mbihwZyk7CisgICAgdW5zaWdu ZWQgbG9uZyBtZm4gPSBwYWdlX3RvX21mbihwZyk7CiAgICAgdW5zaWduZWQgaW50IGksIG5vZGUg PSBwaHlzX3RvX25pZChwYWdlX3RvX21hZGRyKHBnKSksIHRhaW50ZWQgPSAwOwogICAgIHVuc2ln bmVkIGludCB6b25lID0gcGFnZV90b196b25lKHBnKTsKIApAQCAtOTcwLDM4ICsxMDA5LDcgQEAg c3RhdGljIHZvaWQgZnJlZV9oZWFwX3BhZ2VzKAogICAgICAgICBtaWRzaXplX2FsbG9jX3pvbmVf cGFnZXMgPSBtYXgoCiAgICAgICAgICAgICBtaWRzaXplX2FsbG9jX3pvbmVfcGFnZXMsIHRvdGFs X2F2YWlsX3BhZ2VzIC8gTUlEU0laRV9BTExPQ19GUkFDKTsKIAotICAgIC8qIE1lcmdlIGNodW5r cyBhcyBmYXIgYXMgcG9zc2libGUuICovCi0gICAgd2hpbGUgKCBvcmRlciA8IE1BWF9PUkRFUiAp Ci0gICAgewotICAgICAgICBtYXNrID0gMVVMIDw8IG9yZGVyOwotCi0gICAgICAgIGlmICggKHBh Z2VfdG9fbWZuKHBnKSAmIG1hc2spICkKLSAgICAgICAgewotICAgICAgICAgICAgLyogTWVyZ2Ug d2l0aCBwcmVkZWNlc3NvciBibG9jaz8gKi8KLSAgICAgICAgICAgIGlmICggIW1mbl92YWxpZChf bWZuKHBhZ2VfdG9fbWZuKHBnLW1hc2spKSkgfHwKLSAgICAgICAgICAgICAgICAgIXBhZ2Vfc3Rh dGVfaXMocGctbWFzaywgZnJlZSkgfHwKLSAgICAgICAgICAgICAgICAgKFBGTl9PUkRFUihwZy1t YXNrKSAhPSBvcmRlcikgfHwKLSAgICAgICAgICAgICAgICAgKHBoeXNfdG9fbmlkKHBhZ2VfdG9f bWFkZHIocGctbWFzaykpICE9IG5vZGUpICkKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg ICAgICAgIHBnIC09IG1hc2s7Ci0gICAgICAgICAgICBwYWdlX2xpc3RfZGVsKHBnLCAmaGVhcChu b2RlLCB6b25lLCBvcmRlcikpOwotICAgICAgICB9Ci0gICAgICAgIGVsc2UKLSAgICAgICAgewot ICAgICAgICAgICAgLyogTWVyZ2Ugd2l0aCBzdWNjZXNzb3IgYmxvY2s/ICovCi0gICAgICAgICAg ICBpZiAoICFtZm5fdmFsaWQoX21mbihwYWdlX3RvX21mbihwZyttYXNrKSkpIHx8Ci0gICAgICAg ICAgICAgICAgICFwYWdlX3N0YXRlX2lzKHBnK21hc2ssIGZyZWUpIHx8Ci0gICAgICAgICAgICAg ICAgIChQRk5fT1JERVIocGcrbWFzaykgIT0gb3JkZXIpIHx8Ci0gICAgICAgICAgICAgICAgIChw aHlzX3RvX25pZChwYWdlX3RvX21hZGRyKHBnK21hc2spKSAhPSBub2RlKSApCi0gICAgICAgICAg ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBwYWdlX2xpc3RfZGVsKHBnICsgbWFzaywgJmhlYXAo bm9kZSwgem9uZSwgb3JkZXIpKTsKLSAgICAgICAgfQotCi0gICAgICAgIG9yZGVyKys7Ci0gICAg fQotCi0gICAgUEZOX09SREVSKHBnKSA9IG9yZGVyOwotICAgIHBhZ2VfbGlzdF9hZGRfdGFpbChw ZywgJmhlYXAobm9kZSwgem9uZSwgb3JkZXIpKTsKKyAgICBwZyA9IG1lcmdlX2FuZF9mcmVlX2J1 ZGR5KHBnLCBub2RlLCB6b25lLCBvcmRlcik7CiAKICAgICBpZiAoIHRhaW50ZWQgKQogICAgICAg ICByZXNlcnZlX29mZmxpbmVkX3BhZ2UocGcpOwotLSAKMS43LjEKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl bi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK