From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 091BFC4332F for ; Sat, 11 Dec 2021 14:57:48 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 9CF9961C4B; Sat, 11 Dec 2021 14:57:48 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qvC-HMudJVmw; Sat, 11 Dec 2021 14:57:45 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [IPv6:2605:bc80:3010:104::8cd3:938]) by smtp3.osuosl.org (Postfix) with ESMTPS id 2CC3461C41; Sat, 11 Dec 2021 14:57:45 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id AF960C0073; Sat, 11 Dec 2021 14:57:44 +0000 (UTC) Received: from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::136]) by lists.linuxfoundation.org (Postfix) with ESMTP id 11AEBC0012; Fri, 10 Dec 2021 07:44:05 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id E408361267; Fri, 10 Dec 2021 07:44:04 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2RqTrIo9LZRr; Fri, 10 Dec 2021 07:44:03 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 X-Greylist: whitelisted by SQLgrey-1.8.0 Received: from mail-pg1-x536.google.com (mail-pg1-x536.google.com [IPv6:2607:f8b0:4864:20::536]) by smtp3.osuosl.org (Postfix) with ESMTPS id 5992E61263; Fri, 10 Dec 2021 07:44:03 +0000 (UTC) Received: by mail-pg1-x536.google.com with SMTP id l18so2662514pgj.9; Thu, 09 Dec 2021 23:44:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:date:mime-version:user-agent:subject:to:cc:references :from:in-reply-to:content-transfer-encoding; bh=FYFBhmavOHQihQEBX9qGXsO80PWaXrVj26hswLpne0s=; b=eG+dAPNpmN++zkv+fyWyJm9db2yzcXdaxWLsIDeNrM9/yL83hTHf9VWSkbOQK7h6hM Wlj/u3dtTGGsr1WM3qnBX5p59ibJ2UWj0/j+XWpG/tEacNWRzkoWytB17nxhlXdNVC2y RnNAYGMHaxEvW5WS7jDhS/fK+O5Gq63015sDuBfT8AfK5aOhuV3Ic3GuiN4JvVgC/x7i eec5AQFzLkkQkv9h4mhe2Rh7QcMiJbAxca73e5nrylXCYayDnebl2aF/Brekj2CjFD0F t1I3tDGsE7w3AKpWWqUALBve87HRS41uV7DfVDpOdl2CYYpeNu0XyfLRmLT0MDs/BoQi Lflw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :to:cc:references:from:in-reply-to:content-transfer-encoding; bh=FYFBhmavOHQihQEBX9qGXsO80PWaXrVj26hswLpne0s=; b=QgrnerkJXdASBrOtT1E7TmgWG2cE/FfH97zsxgHBTjaQbKNt1BhwZTSKSLD11m1bBs P9O6wPkmfLS0MrgizFMfDxu7aiOyEbhKIsgml/q6IL6dvQemKwbu9ui8EZYT+0aE2C57 KuwIXFYoYg68MCxd0xFKFr/EiKWo/3Og2LpyDwobLKrAUCWsRFn8BOtlcPUxqASHD8uP N2d3T4wfnXpj4w8BY50NkhkFjn3PKe2KoXecnKErVVYIdn9IQfiWcvTZpPGQ/KgaCe7O ckGCuhol35KkXpzTdsCJm4dwLgW9NpG4F6m8QlM7F1AD+C5JF8Wa+hl78mutD3v2HpUP jaGA== X-Gm-Message-State: AOAM533Ag+/ZHxBcs0/sqvNqY9J2HQWwHWmnmsVRzHOcacPl//1aRFsp YwCzrC1vBBFEblCKQi+KH44= X-Google-Smtp-Source: ABdhPJwBPXWYkvIGUGnrjWv+j12lBB8kMdBIkbohxceo7qPeZwVXgp1O9cfcTUiYk9mgFRMURfHLMw== X-Received: by 2002:a62:790e:0:b0:4af:e9c0:3322 with SMTP id u14-20020a62790e000000b004afe9c03322mr8145425pfc.86.1639122242728; Thu, 09 Dec 2021 23:44:02 -0800 (PST) Received: from [30.240.98.4] ([205.204.117.108]) by smtp.gmail.com with ESMTPSA id a26sm1908458pfh.161.2021.12.09.23.43.59 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 09 Dec 2021 23:44:02 -0800 (PST) Message-ID: <2926b360-5204-45f5-e1a0-e260214f8dbf@gmail.com> Date: Fri, 10 Dec 2021 15:43:56 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.2.1 Subject: Re: [RFC PATCH v2 1/7] mm: page_alloc: avoid merging non-fallbackable pageblocks with others. To: Zi Yan , David Hildenbrand , linux-mm@kvack.org References: <20211209230414.2766515-1-zi.yan@sent.com> <20211209230414.2766515-2-zi.yan@sent.com> From: Eric Ren In-Reply-To: <20211209230414.2766515-2-zi.yan@sent.com> X-Mailman-Approved-At: Sat, 11 Dec 2021 14:57:43 +0000 Cc: Mel Gorman , Michael Ellerman , Robin Murphy , linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org, virtualization@lists.linux-foundation.org, linuxppc-dev@lists.ozlabs.org, Christoph Hellwig , Vlastimil Babka X-BeenThere: iommu@lists.linux-foundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Development issues for Linux IOMMU support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: iommu-bounces@lists.linux-foundation.org Sender: "iommu" SGksCgpPbiAyMDIxLzEyLzEwIDA3OjA0LCBaaSBZYW4gd3JvdGU6Cj4gRnJvbTogWmkgWWFuIDx6 aXlAbnZpZGlhLmNvbT4KPgo+IFRoaXMgaXMgZG9uZSBpbiBhZGRpdGlvbiB0byBNSUdSQVRFX0lT T0xBVEUgcGFnZWJsb2NrIG1lcmdlIGF2b2lkYW5jZS4KPiBJdCBwcmVwYXJlcyBmb3IgdGhlIHVw Y29taW5nIHJlbW92YWwgb2YgdGhlIE1BWF9PUkRFUi0xIGFsaWdubWVudAo+IHJlcXVpcmVtZW50 IGZvciBDTUEgYW5kIGFsbG9jX2NvbnRpZ19yYW5nZSgpLgo+Cj4gTUlHUkFSVEVfSElHSEFUT01J QyBzaG91bGQgbm90IG1lcmdlIHdpdGggb3RoZXIgbWlncmF0ZXR5cGVzIGxpa2UKPiBNSUdSQVRF X0lTT0xBVEUgYW5kIE1JR1JBUlRFX0NNQVsxXSwgc28gdGhpcyBjb21taXQgcHJldmVudHMgdGhh dCB0b28uCj4gQWxzbyBhZGQgTUlHUkFSVEVfSElHSEFUT01JQyB0byBmYWxsYmFja3MgYXJyYXkg Zm9yIGNvbXBsZXRlbmVzcy4KPgo+IFsxXSBodHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1t bS8yMDIxMTEzMDEwMDg1My5HUDMzNjZAdGVjaHNpbmd1bGFyaXR5Lm5ldC8KPgo+IFNpZ25lZC1v ZmYtYnk6IFppIFlhbiA8eml5QG52aWRpYS5jb20+Cj4gLS0tCj4gICBpbmNsdWRlL2xpbnV4L21t em9uZS5oIHwgIDYgKysrKysrCj4gICBtbS9wYWdlX2FsbG9jLmMgICAgICAgIHwgMjggKysrKysr KysrKysrKysrKysrLS0tLS0tLS0tLQo+ICAgMiBmaWxlcyBjaGFuZ2VkLCAyNCBpbnNlcnRpb25z KCspLCAxMCBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L21tem9u ZS5oIGIvaW5jbHVkZS9saW51eC9tbXpvbmUuaAo+IGluZGV4IDU4ZTc0NGI3OGMyYy4uYjkyNTQz MWIwMTIzIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvbGludXgvbW16b25lLmgKPiArKysgYi9pbmNs dWRlL2xpbnV4L21tem9uZS5oCj4gQEAgLTgzLDYgKzgzLDEyIEBAIHN0YXRpYyBpbmxpbmUgYm9v bCBpc19taWdyYXRlX21vdmFibGUoaW50IG10KQo+ICAgCXJldHVybiBpc19taWdyYXRlX2NtYSht dCkgfHwgbXQgPT0gTUlHUkFURV9NT1ZBQkxFOwo+ICAgfQo+ICAgCj4gKy8qIFNlZSBmYWxsYmFj a3NbTUlHUkFURV9UWVBFU11bM10gaW4gcGFnZV9hbGxvYy5jICovCj4gK3N0YXRpYyBpbmxpbmUg Ym9vbCBtaWdyYXRldHlwZV9oYXNfZmFsbGJhY2soaW50IG10KQo+ICt7Cj4gKwlyZXR1cm4gbXQg PCBNSUdSQVRFX1BDUFRZUEVTOwo+ICt9Cj4gKwoKSSB3b3VsZCBzdWdnZXN0IHNwbGl0aW5nIHRo ZSBwYXRjaCBpbnRvIDIgcGFydHMuwqAgVGhlIGZpcnN0IHBhcnQ6IG5vIApmdW5jdGlvbmluZyBj aGFuZ2UsIGp1c3QgaW50cm9kdWNlIG1pZ3JhdGV0eXBlX2hhc19mYWxsYmFjaygpCmFuZCByZXBs YWNlIHdoZXJlIGl0IGFwcGx5cyB0by4KCj4gICAjZGVmaW5lIGZvcl9lYWNoX21pZ3JhdGV0eXBl X29yZGVyKG9yZGVyLCB0eXBlKSBcCj4gICAJZm9yIChvcmRlciA9IDA7IG9yZGVyIDwgTUFYX09S REVSOyBvcmRlcisrKSBcCj4gICAJCWZvciAodHlwZSA9IDA7IHR5cGUgPCBNSUdSQVRFX1RZUEVT OyB0eXBlKyspCj4gZGlmZiAtLWdpdCBhL21tL3BhZ2VfYWxsb2MuYyBiL21tL3BhZ2VfYWxsb2Mu Ywo+IGluZGV4IGVkZmQ2YzgxYWY4Mi4uMTA3YTVmMTg2ZDNiIDEwMDY0NAo+IC0tLSBhL21tL3Bh Z2VfYWxsb2MuYwo+ICsrKyBiL21tL3BhZ2VfYWxsb2MuYwo+IEBAIC0xMDQxLDYgKzEwNDEsMTIg QEAgYnVkZHlfbWVyZ2VfbGlrZWx5KHVuc2lnbmVkIGxvbmcgcGZuLCB1bnNpZ25lZCBsb25nIGJ1 ZGR5X3BmbiwKPiAgIAlyZXR1cm4gcGFnZV9pc19idWRkeShoaWdoZXJfcGFnZSwgaGlnaGVyX2J1 ZGR5LCBvcmRlciArIDEpOwo+ICAgfQo+ICAgCj4gK3N0YXRpYyBpbmxpbmUgYm9vbCBoYXNfbm9u X2ZhbGxiYWNrX3BhZ2VibG9jayhzdHJ1Y3Qgem9uZSAqem9uZSkKPiArewo+ICsJcmV0dXJuIGhh c19pc29sYXRlX3BhZ2VibG9jayh6b25lKSB8fCB6b25lX2NtYV9wYWdlcyh6b25lKSAhPSAwIHx8 Cj4gKwkJem9uZS0+bnJfcmVzZXJ2ZWRfaGlnaGF0b21pYyAhPSAwOwoKTWFrZSB6b25lLT5ucl9y ZXNlcnZlZF9oaWdoYXRvbWljICE9IDAgYSBoZWxwZXIgYXMgem9uZV9jbWFfcGFnZXMoKT8KPiAr fQo+ICsKPiAgIC8qCj4gICAgKiBGcmVlaW5nIGZ1bmN0aW9uIGZvciBhIGJ1ZGR5IHN5c3RlbSBh bGxvY2F0b3IuCj4gICAgKgo+IEBAIC0xMTE2LDE0ICsxMTIyLDE1IEBAIHN0YXRpYyBpbmxpbmUg dm9pZCBfX2ZyZWVfb25lX3BhZ2Uoc3RydWN0IHBhZ2UgKnBhZ2UsCj4gICAJfQo+ICAgCWlmIChv cmRlciA8IE1BWF9PUkRFUiAtIDEpIHsKPiAgIAkJLyogSWYgd2UgYXJlIGhlcmUsIGl0IG1lYW5z IG9yZGVyIGlzID49IHBhZ2VibG9ja19vcmRlci4KPiAtCQkgKiBXZSB3YW50IHRvIHByZXZlbnQg bWVyZ2UgYmV0d2VlbiBmcmVlcGFnZXMgb24gaXNvbGF0ZQo+IC0JCSAqIHBhZ2VibG9jayBhbmQg bm9ybWFsIHBhZ2VibG9jay4gV2l0aG91dCB0aGlzLCBwYWdlYmxvY2sKPiAtCQkgKiBpc29sYXRp b24gY291bGQgY2F1c2UgaW5jb3JyZWN0IGZyZWVwYWdlIG9yIENNQSBhY2NvdW50aW5nLgo+ICsJ CSAqIFdlIHdhbnQgdG8gcHJldmVudCBtZXJnZSBiZXR3ZWVuIGZyZWVwYWdlcyBvbiBwYWdlYmxv Y2sKPiArCQkgKiB3aXRob3V0IGZhbGxiYWNrcyBhbmQgbm9ybWFsIHBhZ2VibG9jay4gV2l0aG91 dCB0aGlzLAo+ICsJCSAqIHBhZ2VibG9jayBpc29sYXRpb24gY291bGQgY2F1c2UgaW5jb3JyZWN0 IGZyZWVwYWdlIG9yIENNQQo+ICsJCSAqIGFjY291bnRpbmcgb3IgSElHSEFUT01JQyBhY2NvdW50 aW5nLgo+ICAgCQkgKgo+ICAgCQkgKiBXZSBkb24ndCB3YW50IHRvIGhpdCB0aGlzIGNvZGUgZm9y IHRoZSBtb3JlIGZyZXF1ZW50Cj4gICAJCSAqIGxvdy1vcmRlciBtZXJnaW5nLgo+ICAgCQkgKi8K PiAtCQlpZiAodW5saWtlbHkoaGFzX2lzb2xhdGVfcGFnZWJsb2NrKHpvbmUpKSkgewo+ICsJCWlm ICh1bmxpa2VseShoYXNfbm9uX2ZhbGxiYWNrX3BhZ2VibG9jayh6b25lKSkpIHsKSSdtIG5vdCBm YW1pbGlhciB3aXRoIHRoZSBjb2RlIGRldGFpbHMsIGp1c3Qgd29uZGVyaW5nIGlmIHRoaXMgY2hh bmdlIAp3b3VsZCBoYXMgc2lkZSBlZmZlY3RzIG9uIGNtYQpwYWdlYmxvY2sgbWVyZ2luZyBhcyBp dCB0aGUgY29uZGl0aW9uIHN0cm9uZ2VyPwoKVGhhbmtzLApFcmljCj4gICAJCQlpbnQgYnVkZHlf bXQ7Cj4gICAKPiAgIAkJCWJ1ZGR5X3BmbiA9IF9fZmluZF9idWRkeV9wZm4ocGZuLCBvcmRlcik7 Cj4gQEAgLTExMzEsOCArMTEzOCw4IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBfX2ZyZWVfb25lX3Bh Z2Uoc3RydWN0IHBhZ2UgKnBhZ2UsCj4gICAJCQlidWRkeV9tdCA9IGdldF9wYWdlYmxvY2tfbWln cmF0ZXR5cGUoYnVkZHkpOwo+ICAgCj4gICAJCQlpZiAobWlncmF0ZXR5cGUgIT0gYnVkZHlfbXQK PiAtCQkJCQkmJiAoaXNfbWlncmF0ZV9pc29sYXRlKG1pZ3JhdGV0eXBlKSB8fAo+IC0JCQkJCQlp c19taWdyYXRlX2lzb2xhdGUoYnVkZHlfbXQpKSkKPiArCQkJCQkmJiAoIW1pZ3JhdGV0eXBlX2hh c19mYWxsYmFjayhtaWdyYXRldHlwZSkgfHwKPiArCQkJCQkJIW1pZ3JhdGV0eXBlX2hhc19mYWxs YmFjayhidWRkeV9tdCkpKQo+ICAgCQkJCWdvdG8gZG9uZV9tZXJnaW5nOwo+ICAgCQl9Cj4gICAJ CW1heF9vcmRlciA9IG9yZGVyICsgMTsKPiBAQCAtMjQ4Myw2ICsyNDkwLDcgQEAgc3RhdGljIGlu dCBmYWxsYmFja3NbTUlHUkFURV9UWVBFU11bM10gPSB7Cj4gICAJW01JR1JBVEVfVU5NT1ZBQkxF XSAgID0geyBNSUdSQVRFX1JFQ0xBSU1BQkxFLCBNSUdSQVRFX01PVkFCTEUsICAgTUlHUkFURV9U WVBFUyB9LAo+ICAgCVtNSUdSQVRFX01PVkFCTEVdICAgICA9IHsgTUlHUkFURV9SRUNMQUlNQUJM RSwgTUlHUkFURV9VTk1PVkFCTEUsIE1JR1JBVEVfVFlQRVMgfSwKPiAgIAlbTUlHUkFURV9SRUNM QUlNQUJMRV0gPSB7IE1JR1JBVEVfVU5NT1ZBQkxFLCAgIE1JR1JBVEVfTU9WQUJMRSwgICBNSUdS QVRFX1RZUEVTIH0sCj4gKwlbTUlHUkFURV9ISUdIQVRPTUlDXSA9IHsgTUlHUkFURV9UWVBFUyB9 LCAvKiBOZXZlciB1c2VkICovCj4gICAjaWZkZWYgQ09ORklHX0NNQQo+ICAgCVtNSUdSQVRFX0NN QV0gICAgICAgICA9IHsgTUlHUkFURV9UWVBFUyB9LCAvKiBOZXZlciB1c2VkICovCj4gICAjZW5k aWYKPiBAQCAtMjc5NCw4ICsyODAyLDggQEAgc3RhdGljIHZvaWQgcmVzZXJ2ZV9oaWdoYXRvbWlj X3BhZ2VibG9jayhzdHJ1Y3QgcGFnZSAqcGFnZSwgc3RydWN0IHpvbmUgKnpvbmUsCj4gICAKPiAg IAkvKiBZb2luayEgKi8KPiAgIAltdCA9IGdldF9wYWdlYmxvY2tfbWlncmF0ZXR5cGUocGFnZSk7 Cj4gLQlpZiAoIWlzX21pZ3JhdGVfaGlnaGF0b21pYyhtdCkgJiYgIWlzX21pZ3JhdGVfaXNvbGF0 ZShtdCkKPiAtCSAgICAmJiAhaXNfbWlncmF0ZV9jbWEobXQpKSB7Cj4gKwkvKiBPbmx5IHJlc2Vy dmUgbm9ybWFsIHBhZ2VibG9jayAqLwo+ICsJaWYgKG1pZ3JhdGV0eXBlX2hhc19mYWxsYmFjayht dCkpIHsKPiAgIAkJem9uZS0+bnJfcmVzZXJ2ZWRfaGlnaGF0b21pYyArPSBwYWdlYmxvY2tfbnJf cGFnZXM7Cj4gICAJCXNldF9wYWdlYmxvY2tfbWlncmF0ZXR5cGUocGFnZSwgTUlHUkFURV9ISUdI QVRPTUlDKTsKPiAgIAkJbW92ZV9mcmVlcGFnZXNfYmxvY2soem9uZSwgcGFnZSwgTUlHUkFURV9I SUdIQVRPTUlDLCBOVUxMKTsKPiBAQCAtMzU0NCw4ICszNTUyLDggQEAgaW50IF9faXNvbGF0ZV9m cmVlX3BhZ2Uoc3RydWN0IHBhZ2UgKnBhZ2UsIHVuc2lnbmVkIGludCBvcmRlcikKPiAgIAkJc3Ry dWN0IHBhZ2UgKmVuZHBhZ2UgPSBwYWdlICsgKDEgPDwgb3JkZXIpIC0gMTsKPiAgIAkJZm9yICg7 IHBhZ2UgPCBlbmRwYWdlOyBwYWdlICs9IHBhZ2VibG9ja19ucl9wYWdlcykgewo+ICAgCQkJaW50 IG10ID0gZ2V0X3BhZ2VibG9ja19taWdyYXRldHlwZShwYWdlKTsKPiAtCQkJaWYgKCFpc19taWdy YXRlX2lzb2xhdGUobXQpICYmICFpc19taWdyYXRlX2NtYShtdCkKPiAtCQkJICAgICYmICFpc19t aWdyYXRlX2hpZ2hhdG9taWMobXQpKQo+ICsJCQkvKiBPbmx5IGNoYW5nZSBub3JtYWwgcGFnZWJs b2NrICovCj4gKwkJCWlmIChtaWdyYXRldHlwZV9oYXNfZmFsbGJhY2sobXQpKQo+ICAgCQkJCXNl dF9wYWdlYmxvY2tfbWlncmF0ZXR5cGUocGFnZSwKPiAgIAkJCQkJCQkgIE1JR1JBVEVfTU9WQUJM RSk7Cj4gICAJCX0KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmlvbW11IG1haWxpbmcgbGlzdAppb21tdUBsaXN0cy5saW51eC1mb3VuZGF0aW9uLm9yZwpo dHRwczovL2xpc3RzLmxpbnV4Zm91bmRhdGlvbi5vcmcvbWFpbG1hbi9saXN0aW5mby9pb21tdQ== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 11E38C433F5 for ; Sun, 12 Dec 2021 22:48:55 +0000 (UTC) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4JC0Dk3JCmz3c5f for ; Mon, 13 Dec 2021 09:48:54 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=eG+dAPNp; dkim-atps=neutral Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gmail.com (client-ip=2607:f8b0:4864:20::42f; helo=mail-pf1-x42f.google.com; envelope-from=renzhengeek@gmail.com; receiver=) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=eG+dAPNp; dkim-atps=neutral Received: from mail-pf1-x42f.google.com (mail-pf1-x42f.google.com [IPv6:2607:f8b0:4864:20::42f]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4J9NFd75WMz3076 for ; Fri, 10 Dec 2021 18:44:05 +1100 (AEDT) Received: by mail-pf1-x42f.google.com with SMTP id p13so7762095pfw.2 for ; Thu, 09 Dec 2021 23:44:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:date:mime-version:user-agent:subject:to:cc:references :from:in-reply-to:content-transfer-encoding; bh=FYFBhmavOHQihQEBX9qGXsO80PWaXrVj26hswLpne0s=; b=eG+dAPNpmN++zkv+fyWyJm9db2yzcXdaxWLsIDeNrM9/yL83hTHf9VWSkbOQK7h6hM Wlj/u3dtTGGsr1WM3qnBX5p59ibJ2UWj0/j+XWpG/tEacNWRzkoWytB17nxhlXdNVC2y RnNAYGMHaxEvW5WS7jDhS/fK+O5Gq63015sDuBfT8AfK5aOhuV3Ic3GuiN4JvVgC/x7i eec5AQFzLkkQkv9h4mhe2Rh7QcMiJbAxca73e5nrylXCYayDnebl2aF/Brekj2CjFD0F t1I3tDGsE7w3AKpWWqUALBve87HRS41uV7DfVDpOdl2CYYpeNu0XyfLRmLT0MDs/BoQi Lflw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :to:cc:references:from:in-reply-to:content-transfer-encoding; bh=FYFBhmavOHQihQEBX9qGXsO80PWaXrVj26hswLpne0s=; b=ENzIiMH43KTN2pYQzNoUQG6z2XOR0ndJOA0KmfGeKbHGdUObcQD/Ac7RK6NL47Dj+8 ATa6LzyJ/ajErWbu97WKW5IDlnQ308u3/W2fh3+UFSsn9xCvahYgC6qweCEia2UnEP0T DHpzQKpabWAEsk5MdsGAwYwKolDZz85Zmk4dw+DVx4YpIgrFmHfxoDsEqHFcHQWRlYzk 1XZa3M8MN1gYWB+YUfMGmDj2llbHILkMW14VU6VNejV15tcLp76cYeE+nX/K5mQA/t4A 7SgcBWujHu7Te+PmUj/qFVFGg3rp995XuhxojxwknxFPES3mwPtk0pZKv7ZsxcnhnknC /mBw== X-Gm-Message-State: AOAM532bth4Sw/BxdRTtGNwSDLWug8MdkVzkkFRwppMfW/iG5tM45Zep mm0JHXzbJOz8bXrgrXt70c8= X-Google-Smtp-Source: ABdhPJwBPXWYkvIGUGnrjWv+j12lBB8kMdBIkbohxceo7qPeZwVXgp1O9cfcTUiYk9mgFRMURfHLMw== X-Received: by 2002:a62:790e:0:b0:4af:e9c0:3322 with SMTP id u14-20020a62790e000000b004afe9c03322mr8145425pfc.86.1639122242728; Thu, 09 Dec 2021 23:44:02 -0800 (PST) Received: from [30.240.98.4] ([205.204.117.108]) by smtp.gmail.com with ESMTPSA id a26sm1908458pfh.161.2021.12.09.23.43.59 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 09 Dec 2021 23:44:02 -0800 (PST) Message-ID: <2926b360-5204-45f5-e1a0-e260214f8dbf@gmail.com> Date: Fri, 10 Dec 2021 15:43:56 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.2.1 Subject: Re: [RFC PATCH v2 1/7] mm: page_alloc: avoid merging non-fallbackable pageblocks with others. To: Zi Yan , David Hildenbrand , linux-mm@kvack.org References: <20211209230414.2766515-1-zi.yan@sent.com> <20211209230414.2766515-2-zi.yan@sent.com> From: Eric Ren In-Reply-To: <20211209230414.2766515-2-zi.yan@sent.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Mailman-Approved-At: Mon, 13 Dec 2021 09:47:48 +1100 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mel Gorman , Robin Murphy , linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org, virtualization@lists.linux-foundation.org, linuxppc-dev@lists.ozlabs.org, Christoph Hellwig , Vlastimil Babka , Marek Szyprowski Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" Hi, On 2021/12/10 07:04, Zi Yan wrote: > From: Zi Yan > > This is done in addition to MIGRATE_ISOLATE pageblock merge avoidance. > It prepares for the upcoming removal of the MAX_ORDER-1 alignment > requirement for CMA and alloc_contig_range(). > > MIGRARTE_HIGHATOMIC should not merge with other migratetypes like > MIGRATE_ISOLATE and MIGRARTE_CMA[1], so this commit prevents that too. > Also add MIGRARTE_HIGHATOMIC to fallbacks array for completeness. > > [1] https://lore.kernel.org/linux-mm/20211130100853.GP3366@techsingularity.net/ > > Signed-off-by: Zi Yan > --- > include/linux/mmzone.h | 6 ++++++ > mm/page_alloc.c | 28 ++++++++++++++++++---------- > 2 files changed, 24 insertions(+), 10 deletions(-) > > diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h > index 58e744b78c2c..b925431b0123 100644 > --- a/include/linux/mmzone.h > +++ b/include/linux/mmzone.h > @@ -83,6 +83,12 @@ static inline bool is_migrate_movable(int mt) > return is_migrate_cma(mt) || mt == MIGRATE_MOVABLE; > } > > +/* See fallbacks[MIGRATE_TYPES][3] in page_alloc.c */ > +static inline bool migratetype_has_fallback(int mt) > +{ > + return mt < MIGRATE_PCPTYPES; > +} > + I would suggest spliting the patch into 2 parts.  The first part: no functioning change, just introduce migratetype_has_fallback() and replace where it applys to. > #define for_each_migratetype_order(order, type) \ > for (order = 0; order < MAX_ORDER; order++) \ > for (type = 0; type < MIGRATE_TYPES; type++) > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index edfd6c81af82..107a5f186d3b 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -1041,6 +1041,12 @@ buddy_merge_likely(unsigned long pfn, unsigned long buddy_pfn, > return page_is_buddy(higher_page, higher_buddy, order + 1); > } > > +static inline bool has_non_fallback_pageblock(struct zone *zone) > +{ > + return has_isolate_pageblock(zone) || zone_cma_pages(zone) != 0 || > + zone->nr_reserved_highatomic != 0; Make zone->nr_reserved_highatomic != 0 a helper as zone_cma_pages()? > +} > + > /* > * Freeing function for a buddy system allocator. > * > @@ -1116,14 +1122,15 @@ static inline void __free_one_page(struct page *page, > } > if (order < MAX_ORDER - 1) { > /* If we are here, it means order is >= pageblock_order. > - * We want to prevent merge between freepages on isolate > - * pageblock and normal pageblock. Without this, pageblock > - * isolation could cause incorrect freepage or CMA accounting. > + * We want to prevent merge between freepages on pageblock > + * without fallbacks and normal pageblock. Without this, > + * pageblock isolation could cause incorrect freepage or CMA > + * accounting or HIGHATOMIC accounting. > * > * We don't want to hit this code for the more frequent > * low-order merging. > */ > - if (unlikely(has_isolate_pageblock(zone))) { > + if (unlikely(has_non_fallback_pageblock(zone))) { I'm not familiar with the code details, just wondering if this change would has side effects on cma pageblock merging as it the condition stronger? Thanks, Eric > int buddy_mt; > > buddy_pfn = __find_buddy_pfn(pfn, order); > @@ -1131,8 +1138,8 @@ static inline void __free_one_page(struct page *page, > buddy_mt = get_pageblock_migratetype(buddy); > > if (migratetype != buddy_mt > - && (is_migrate_isolate(migratetype) || > - is_migrate_isolate(buddy_mt))) > + && (!migratetype_has_fallback(migratetype) || > + !migratetype_has_fallback(buddy_mt))) > goto done_merging; > } > max_order = order + 1; > @@ -2483,6 +2490,7 @@ static int fallbacks[MIGRATE_TYPES][3] = { > [MIGRATE_UNMOVABLE] = { MIGRATE_RECLAIMABLE, MIGRATE_MOVABLE, MIGRATE_TYPES }, > [MIGRATE_MOVABLE] = { MIGRATE_RECLAIMABLE, MIGRATE_UNMOVABLE, MIGRATE_TYPES }, > [MIGRATE_RECLAIMABLE] = { MIGRATE_UNMOVABLE, MIGRATE_MOVABLE, MIGRATE_TYPES }, > + [MIGRATE_HIGHATOMIC] = { MIGRATE_TYPES }, /* Never used */ > #ifdef CONFIG_CMA > [MIGRATE_CMA] = { MIGRATE_TYPES }, /* Never used */ > #endif > @@ -2794,8 +2802,8 @@ static void reserve_highatomic_pageblock(struct page *page, struct zone *zone, > > /* Yoink! */ > mt = get_pageblock_migratetype(page); > - if (!is_migrate_highatomic(mt) && !is_migrate_isolate(mt) > - && !is_migrate_cma(mt)) { > + /* Only reserve normal pageblock */ > + if (migratetype_has_fallback(mt)) { > zone->nr_reserved_highatomic += pageblock_nr_pages; > set_pageblock_migratetype(page, MIGRATE_HIGHATOMIC); > move_freepages_block(zone, page, MIGRATE_HIGHATOMIC, NULL); > @@ -3544,8 +3552,8 @@ int __isolate_free_page(struct page *page, unsigned int order) > struct page *endpage = page + (1 << order) - 1; > for (; page < endpage; page += pageblock_nr_pages) { > int mt = get_pageblock_migratetype(page); > - if (!is_migrate_isolate(mt) && !is_migrate_cma(mt) > - && !is_migrate_highatomic(mt)) > + /* Only change normal pageblock */ > + if (migratetype_has_fallback(mt)) > set_pageblock_migratetype(page, > MIGRATE_MOVABLE); > } From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 148AFC433EF for ; Fri, 10 Dec 2021 07:44:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 913896B0071; Fri, 10 Dec 2021 02:44:14 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 8C3FB6B0072; Fri, 10 Dec 2021 02:44:14 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 78B8D6B0074; Fri, 10 Dec 2021 02:44:14 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0069.hostedemail.com [216.40.44.69]) by kanga.kvack.org (Postfix) with ESMTP id 69DC76B0071 for ; Fri, 10 Dec 2021 02:44:14 -0500 (EST) Received: from smtpin10.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id 27C3A8249980 for ; Fri, 10 Dec 2021 07:44:04 +0000 (UTC) X-FDA: 78901096008.10.F5DA02D Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.179]) by imf18.hostedemail.com (Postfix) with ESMTP id 857C71C0008 for ; Fri, 10 Dec 2021 07:44:02 +0000 (UTC) Received: by mail-pg1-f179.google.com with SMTP id m24so7342923pgn.7 for ; Thu, 09 Dec 2021 23:44:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:date:mime-version:user-agent:subject:to:cc:references :from:in-reply-to:content-transfer-encoding; bh=FYFBhmavOHQihQEBX9qGXsO80PWaXrVj26hswLpne0s=; b=eG+dAPNpmN++zkv+fyWyJm9db2yzcXdaxWLsIDeNrM9/yL83hTHf9VWSkbOQK7h6hM Wlj/u3dtTGGsr1WM3qnBX5p59ibJ2UWj0/j+XWpG/tEacNWRzkoWytB17nxhlXdNVC2y RnNAYGMHaxEvW5WS7jDhS/fK+O5Gq63015sDuBfT8AfK5aOhuV3Ic3GuiN4JvVgC/x7i eec5AQFzLkkQkv9h4mhe2Rh7QcMiJbAxca73e5nrylXCYayDnebl2aF/Brekj2CjFD0F t1I3tDGsE7w3AKpWWqUALBve87HRS41uV7DfVDpOdl2CYYpeNu0XyfLRmLT0MDs/BoQi Lflw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :to:cc:references:from:in-reply-to:content-transfer-encoding; bh=FYFBhmavOHQihQEBX9qGXsO80PWaXrVj26hswLpne0s=; b=z5Prz/W5hNd2gnDJ3PLLyfkD23fbtWbj7XKPvNZPghJZ6G+6u9tu/iKkS4wQDd0A1e YuAZ86T+XVo/SuVxTTDV1JIvvfWc57Ip8acorCY+q1Q2iUEMUlEd1mccw502P1WTh74x cGN2jMN/Dk5jnh3o3+qLczEwZBy/PXrysfTTc2JZ95Ct+iGbSxPM7kPuoA5RJtf5BHrP 0kkLHAltCXBZFcnvBXF/AvSzseQsvQD12E+SGVYKcm6KFPKD2+HilB1zunRA0vuDPB9x uev59ODkK9/IIL3RyMXJpBp1srKnbMznlYu0NbV50fIMn2TFbeblJsr+2Lw8lV0jvGKA CCdg== X-Gm-Message-State: AOAM532451+Q2on6B9JGmQpQFocIjxdDu6Hl0ZGnyrBhKHVAH+OblIax BhMvMF0OcPS4LVsbfRptxYw= X-Google-Smtp-Source: ABdhPJwBPXWYkvIGUGnrjWv+j12lBB8kMdBIkbohxceo7qPeZwVXgp1O9cfcTUiYk9mgFRMURfHLMw== X-Received: by 2002:a62:790e:0:b0:4af:e9c0:3322 with SMTP id u14-20020a62790e000000b004afe9c03322mr8145425pfc.86.1639122242728; Thu, 09 Dec 2021 23:44:02 -0800 (PST) Received: from [30.240.98.4] ([205.204.117.108]) by smtp.gmail.com with ESMTPSA id a26sm1908458pfh.161.2021.12.09.23.43.59 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 09 Dec 2021 23:44:02 -0800 (PST) Message-ID: <2926b360-5204-45f5-e1a0-e260214f8dbf@gmail.com> Date: Fri, 10 Dec 2021 15:43:56 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.2.1 Subject: Re: [RFC PATCH v2 1/7] mm: page_alloc: avoid merging non-fallbackable pageblocks with others. To: Zi Yan , David Hildenbrand , linux-mm@kvack.org Cc: linux-kernel@vger.kernel.org, Michael Ellerman , Christoph Hellwig , Marek Szyprowski , Robin Murphy , linuxppc-dev@lists.ozlabs.org, virtualization@lists.linux-foundation.org, iommu@lists.linux-foundation.org, Vlastimil Babka , Mel Gorman References: <20211209230414.2766515-1-zi.yan@sent.com> <20211209230414.2766515-2-zi.yan@sent.com> From: Eric Ren In-Reply-To: <20211209230414.2766515-2-zi.yan@sent.com> Content-Type: text/plain; charset=UTF-8; format=flowed X-Stat-Signature: tjxsce18mrxyzm5153u985s9g5mc8rj8 Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=eG+dAPNp; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf18.hostedemail.com: domain of renzhengeek@gmail.com designates 209.85.215.179 as permitted sender) smtp.mailfrom=renzhengeek@gmail.com X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 857C71C0008 X-HE-Tag: 1639122242-782744 Content-Transfer-Encoding: quoted-printable X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Hi, On 2021/12/10 07:04, Zi Yan wrote: > From: Zi Yan > > This is done in addition to MIGRATE_ISOLATE pageblock merge avoidance. > It prepares for the upcoming removal of the MAX_ORDER-1 alignment > requirement for CMA and alloc_contig_range(). > > MIGRARTE_HIGHATOMIC should not merge with other migratetypes like > MIGRATE_ISOLATE and MIGRARTE_CMA[1], so this commit prevents that too. > Also add MIGRARTE_HIGHATOMIC to fallbacks array for completeness. > > [1] https://lore.kernel.org/linux-mm/20211130100853.GP3366@techsingular= ity.net/ > > Signed-off-by: Zi Yan > --- > include/linux/mmzone.h | 6 ++++++ > mm/page_alloc.c | 28 ++++++++++++++++++---------- > 2 files changed, 24 insertions(+), 10 deletions(-) > > diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h > index 58e744b78c2c..b925431b0123 100644 > --- a/include/linux/mmzone.h > +++ b/include/linux/mmzone.h > @@ -83,6 +83,12 @@ static inline bool is_migrate_movable(int mt) > return is_migrate_cma(mt) || mt =3D=3D MIGRATE_MOVABLE; > } > =20 > +/* See fallbacks[MIGRATE_TYPES][3] in page_alloc.c */ > +static inline bool migratetype_has_fallback(int mt) > +{ > + return mt < MIGRATE_PCPTYPES; > +} > + I would suggest spliting the patch into 2 parts.=C2=A0 The first part: no= =20 functioning change, just introduce migratetype_has_fallback() and replace where it applys to. > #define for_each_migratetype_order(order, type) \ > for (order =3D 0; order < MAX_ORDER; order++) \ > for (type =3D 0; type < MIGRATE_TYPES; type++) > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index edfd6c81af82..107a5f186d3b 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -1041,6 +1041,12 @@ buddy_merge_likely(unsigned long pfn, unsigned l= ong buddy_pfn, > return page_is_buddy(higher_page, higher_buddy, order + 1); > } > =20 > +static inline bool has_non_fallback_pageblock(struct zone *zone) > +{ > + return has_isolate_pageblock(zone) || zone_cma_pages(zone) !=3D 0 || > + zone->nr_reserved_highatomic !=3D 0; Make zone->nr_reserved_highatomic !=3D 0 a helper as zone_cma_pages()? > +} > + > /* > * Freeing function for a buddy system allocator. > * > @@ -1116,14 +1122,15 @@ static inline void __free_one_page(struct page = *page, > } > if (order < MAX_ORDER - 1) { > /* If we are here, it means order is >=3D pageblock_order. > - * We want to prevent merge between freepages on isolate > - * pageblock and normal pageblock. Without this, pageblock > - * isolation could cause incorrect freepage or CMA accounting. > + * We want to prevent merge between freepages on pageblock > + * without fallbacks and normal pageblock. Without this, > + * pageblock isolation could cause incorrect freepage or CMA > + * accounting or HIGHATOMIC accounting. > * > * We don't want to hit this code for the more frequent > * low-order merging. > */ > - if (unlikely(has_isolate_pageblock(zone))) { > + if (unlikely(has_non_fallback_pageblock(zone))) { I'm not familiar with the code details, just wondering if this change=20 would has side effects on cma pageblock merging as it the condition stronger? Thanks, Eric > int buddy_mt; > =20 > buddy_pfn =3D __find_buddy_pfn(pfn, order); > @@ -1131,8 +1138,8 @@ static inline void __free_one_page(struct page *p= age, > buddy_mt =3D get_pageblock_migratetype(buddy); > =20 > if (migratetype !=3D buddy_mt > - && (is_migrate_isolate(migratetype) || > - is_migrate_isolate(buddy_mt))) > + && (!migratetype_has_fallback(migratetype) || > + !migratetype_has_fallback(buddy_mt))) > goto done_merging; > } > max_order =3D order + 1; > @@ -2483,6 +2490,7 @@ static int fallbacks[MIGRATE_TYPES][3] =3D { > [MIGRATE_UNMOVABLE] =3D { MIGRATE_RECLAIMABLE, MIGRATE_MOVABLE, = MIGRATE_TYPES }, > [MIGRATE_MOVABLE] =3D { MIGRATE_RECLAIMABLE, MIGRATE_UNMOVABLE, = MIGRATE_TYPES }, > [MIGRATE_RECLAIMABLE] =3D { MIGRATE_UNMOVABLE, MIGRATE_MOVABLE, = MIGRATE_TYPES }, > + [MIGRATE_HIGHATOMIC] =3D { MIGRATE_TYPES }, /* Never used */ > #ifdef CONFIG_CMA > [MIGRATE_CMA] =3D { MIGRATE_TYPES }, /* Never used */ > #endif > @@ -2794,8 +2802,8 @@ static void reserve_highatomic_pageblock(struct p= age *page, struct zone *zone, > =20 > /* Yoink! */ > mt =3D get_pageblock_migratetype(page); > - if (!is_migrate_highatomic(mt) && !is_migrate_isolate(mt) > - && !is_migrate_cma(mt)) { > + /* Only reserve normal pageblock */ > + if (migratetype_has_fallback(mt)) { > zone->nr_reserved_highatomic +=3D pageblock_nr_pages; > set_pageblock_migratetype(page, MIGRATE_HIGHATOMIC); > move_freepages_block(zone, page, MIGRATE_HIGHATOMIC, NULL); > @@ -3544,8 +3552,8 @@ int __isolate_free_page(struct page *page, unsign= ed int order) > struct page *endpage =3D page + (1 << order) - 1; > for (; page < endpage; page +=3D pageblock_nr_pages) { > int mt =3D get_pageblock_migratetype(page); > - if (!is_migrate_isolate(mt) && !is_migrate_cma(mt) > - && !is_migrate_highatomic(mt)) > + /* Only change normal pageblock */ > + if (migratetype_has_fallback(mt)) > set_pageblock_migratetype(page, > MIGRATE_MOVABLE); > }