Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751721AbdL0CMs (ORCPT ); Tue, 26 Dec 2017 21:12:48 -0500 Received: from mail-by2nam03on0106.outbound.protection.outlook.com ([104.47.42.106]:16265 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751266AbdL0CMp (ORCPT ); Tue, 26 Dec 2017 21:12:45 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=zi.yan@cs.rutgers.edu; From: "Zi Yan" To: "Michal Hocko" Cc: linux-mm@kvack.org, "Naoya Horiguchi" , "Kirill A. Shutemov" , "Vlastimil Babka" , "Andrew Morton" , "Andrea Reale" , LKML , "Michal Hocko" Subject: Re: [RFC PATCH 2/3] mm, migrate: remove reason argument from new_page_t Date: Tue, 26 Dec 2017 21:12:38 -0500 X-Mailer: MailMate (1.10r5443) Message-ID: <5881ED15-2645-4D62-B558-9007DA9DE3D5@cs.rutgers.edu> In-Reply-To: <20171208161559.27313-3-mhocko@kernel.org> References: <20171207143401.GK20234@dhcp22.suse.cz> <20171208161559.27313-1-mhocko@kernel.org> <20171208161559.27313-3-mhocko@kernel.org> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=_MailMate_96ABA5D6-39FB-486D-B617-DA87E049D04B_="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Originating-IP: [108.53.61.194] X-ClientProxiedBy: BN6PR19CA0062.namprd19.prod.outlook.com (10.172.203.152) To DM5PR14MB1657.namprd14.prod.outlook.com (10.171.156.15) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7283bdcb-638b-47a1-17c4-08d54ccf4fdb X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060);SRVR:DM5PR14MB1657; X-Microsoft-Exchange-Diagnostics: 1;DM5PR14MB1657;3:ffiL6Xft6soRQiInpCQ0f+GJQScxzw+08AN2PWf9KR5N0loTJNoe8IsDA3vOV/vzxMITcI7PnXI8XoYTLM9kg3HcNot70tceYQIRYs2rtEcl0smWuuacB1Mfpa+2Xb028frV65AcIEA4190zFULwDBnvw8yPJcaw37HiqlEp7Q57Z0POwsmEW/m0LasIeMOj5pU68mTdrSFJgyPuUfOos8M50TtOXtZkBs7aBwAB6ehdQwV9+je2pd+E2cUuvN2F;25:Rj7t4upqINghX4GcetiHRd/up/OG01aLC+1RekickNSPFpFNVXiDCvOmNahO/llyTWlKarF/sORmHmnPe5HJWh/vPE7HtiT1b1keRwf60tDAUUiIlgh0Ga55HnRwn2UClcnUlN3OULgn8yqVe2KIjhCKeuVjMiO1qZpC4ajTb1PY2OOzACywisNEUHM158CNPRQgcZwrtSiiRH/I4qhpdcPe15WT5JrLt1aOmtbWHaTRhJk28Aa0o4T93ketho7cpZnUXg59aVjggKK8VS6CdNyeTpM6tyjoL66exYAxN90jtZsEyrT5WuCXAiSOFNzmPxf19LoP/PCJV2hmrVejOQ==;31:s6ZCEO5t4HHsW/MrGCvnsAYA66R9V9S9LeSaUli7UFHsNY+kQ27PCOkbMHio7sL7CZRAJfQ8hlfVlL6zo3FfFTjMKp9Ho6gti6zLyAU0tAySSrRBso5y3Q3m2y3/3rdjuRN1Y/nEtLDrLyv7FmwYMPGNeWVOmfLcAoXnCiKXxAbfCMnpDGdWvdSZbKV8Z012Irq0fyK2HAIcBwAO3g9UGSVCLC6iGzEutjstr9gDZKU= X-MS-TrafficTypeDiagnostic: DM5PR14MB1657: X-Microsoft-Exchange-Diagnostics: 1;DM5PR14MB1657;20:ndk6XMDLvxUTFNozRy/0JTe/bx5WWh7t4vm/q+voegC30a3Q6u+jZeB2OxSdT5vYpVRFBOUGFfy81DlheRSyMCnjM+9+pNU/TYBdYcs6xphlk1jcPSysjGnkZ9yyX7LNGSKOIfzYljaDGYdWOzjUaI6iJB/aN7Me7SC0yUHvP6c3nOw0VhSwOQbX5xo5RfgRLl6iTOIRaCHf7tyL608RULeHax8wjUZ6x2cUX3jbphLOrAvMmvln1x24fk1UI1dbJTzi1Wp2Atx5Lu7zOQQ1KskIUcnhNC3FpOMNjYdF83fdwcQ0uotG8j4z7f3P0KjpDlPmklCa/8J0ilfPpc8r/sAaRIKdLdEZiz1W813nZVglfCy8HBOug3i+7PtSvsiDb/vW9hOYAq2wIIZboUkk/v0jdEb/K7Jbm0ibGeoBb+6QC2LIlKr1GiKQv5//5Zt4zbC3Ov5r3zPfr4WOF1Pq4h3/pzcRmISl5oQwHHT58bXYc77INZ6mmjkdhtyfNT0k;4:U8065CGt98uqOvooO0ZyU1YT+ONR/VeRyHzQRrjbByVtas1rKW8SJuQ0vIHVL2hyC8BJoy+NTLO3KMFDP3HHH8Sod3aD4urO03p++8IGa02xTyVG5/Dj3XzyFIIkVkbTZ/LHrxUx/nLUEvTJ+UaiNSIuqF/t1rOP9BUUxaDkUEurD9fC0IhhrSjxNIqFNlaeW4NHuVzSlaeWdXm6xENfypThj+StUbknPKiKrFnrJ4ZcCXn0unSLS8x3glzU4d83FpjK/xDebf/H080ZtUzdtg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040470)(2401047)(5005006)(8121501046)(3231023)(11241501184)(944501075)(93006095)(93001095)(10201501046)(3002001)(6041268)(20161123560045)(201703131423095)(201702281529075)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123562045)(20161123564045)(6072148)(201708071742011);SRVR:DM5PR14MB1657;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:DM5PR14MB1657; X-Forefront-PRVS: 0534947130 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6049001)(346002)(39860400002)(39380400002)(366004)(376002)(396003)(24454002)(199004)(189003)(6116002)(82746002)(3846002)(54906003)(305945005)(2950100002)(6916009)(42882006)(83716003)(25786009)(4326008)(2906002)(84326002)(52116002)(59450400001)(77096006)(568964002)(5890100001)(6246003)(386003)(6666003)(76176011)(33964004)(90366009)(8936002)(53546011)(6486002)(50226002)(16576012)(33656002)(117156002)(8676002)(97736004)(106356001)(81166006)(66066001)(53936002)(16526018)(786003)(75432002)(478600001)(68736007)(316002)(88552002)(105586002)(229853002)(16586007)(5660300001)(7736002)(86362001)(81156014)(72826003)(217873001);DIR:OUT;SFP:1102;SCL:1;SRVR:DM5PR14MB1657;H:[192.168.1.153];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTVQUjE0TUIxNjU3OzIzOnhnbDNCdHRFSUI2SXBTZlVtVVphTHhDdGpN?= =?utf-8?B?T09PMjZuNktRSFF2NjFNRFN1U0ZJVVVMS0pneXpRUGc1eXZRZjN6aHJWWkRJ?= =?utf-8?B?OGc4TmVLV2F2NkdsUFJQWHNSRTVCaEJxb2EyLzBzRmhZVTBjUFVvNnQveDlw?= =?utf-8?B?SEJFRExlUFhxZTVOamdhSTR3eWFYUVdub25zaTFQTWZSSGpWd2ExTDBiODlC?= =?utf-8?B?RUlKVHhPdS8xN3hDb3cvMWNESEJjbUZIblFHUEdQQmdicmJBcy9MS1VVdVpY?= =?utf-8?B?WlVlbjdrTWRXZ2ZJVVlkZFg5S3lGRzVqbVYraHQ1VjVhSmFYZVdmM3doZHJG?= =?utf-8?B?eW5Db1d6ZjFBaWxtb3VTNmt0UDdLandpWTBqNFRQVGNOek85VG1XbkwwdDVC?= =?utf-8?B?Q3NVajQxWDRsL3U0WXd3QURkTGlTRXdXY1RUcTRqVkZWcXZxZlIvY1NNTWNF?= =?utf-8?B?djRGaTdFZWlrakZ3NkV5R2wwanBnaEhheGJsZjhaWU9YRVMybHE3MEIzTFFs?= =?utf-8?B?akdubWpZNkxjNGl5clc2UncrM2hSVXJZaGFTcHAxNEh5VW1hTUU4dFJ2cC9K?= =?utf-8?B?WVdkYVpCdTJOU29JTXJqc1BodExRZzBvYXRaU21kcGJCRmR6VUlBOWFPelJk?= =?utf-8?B?cngraERWdVdZRnZmSm9PaENSZm9YWFU3UjJQeEVDenFmQjRqNHg5ZHR4YzRQ?= =?utf-8?B?NUtlYXg0VmlnazBTZkNxVEM1d0IwWWRFTXRROVlKb1p6S1lGZmtwR2o5eUc5?= =?utf-8?B?WTRiMTNmSCtHNmVWU2xMWHUzSEFwZ1Via0pVbi9RRnY1SkMwcUI5aE1zS0FQ?= =?utf-8?B?cktQUjRnWElIWFFhZkwrekg2TXl5N1REZitTd1REWkpyR050WXdlQk9Mc1ZK?= =?utf-8?B?MkFha0ZkMGJ5SHhvcy8yWm4vTWJsdUlhK0ttS3o0VkZXbU1wTEk2R0h4SUpD?= =?utf-8?B?YmJ6SGs4Y3ZWdG8wUmQ2Wkp1cUs0V3c3ZXl4OEdPUWFweGNDMy93QXJ6bUxj?= =?utf-8?B?TkYzZEJWNEQ3QTIvSWVZY0M2bzRRdHVoV0pNeG1RVmZkMHdsR1hqT0NpMmNO?= =?utf-8?B?cFh3akNkcXpRS092bS8vQm04U2VjQUlwakhIZmFUSlFBdzBWeDR3WG90SE53?= =?utf-8?B?cFV4ajdQcW42ZVAzZkdYVkl2MTc5THd4ZEx5MzJCd1FhS254V3VyTldzeTgx?= =?utf-8?B?bzVTdFZrYzBIekF5NGVpZklsNmxYdnRJdlpOQXNUYzhtcHg4R25zR29GWWsr?= =?utf-8?B?c1pRWms3c28welhPRHVSNHpmZW1qSGM4UWJyRXhVWDUzcmUwR2ViZjRxbmNl?= =?utf-8?B?Ulc4N0p2VndIbC9wSnB6TGhQRjBNcDhvK3JUTkQxcTY0MCt4alppNm0vRnJN?= =?utf-8?B?aFBtZ1lGbVViQU9pOUMzQ1hzbEE3a0ZaU1lzV0dYNk9LQWsrV201bWh4U01W?= =?utf-8?B?OE8rK2pWZWpINGhQd0ZyWVp6MEF1L1hxMmZ0NzNnV0N1UlFOemYyTDd4UEFF?= =?utf-8?B?VDlEZTVQdVluRkMrVE9ERUlWMGhhdTFEOURGWVBVNmo0SGYyNzF6bHdBZkVi?= =?utf-8?B?QmhuUVhqSXJ0RGovOWRMalF5UU5aWUVvYXNLQzdEc1hsbk9IZDV6RlQ0T054?= =?utf-8?B?WDFobXlDdG5PM3ZXeTZJTzZVSlBGSVkvWUg2RzdpRmo2bm9vNzI2aEJPakFt?= =?utf-8?B?QUlvd2sxdlpDcWRpbzd3RldPQWsrMmIzVTFCM1Ard093SG8rY0hDOGpZNHlX?= =?utf-8?B?VDJQMUJHUllxRkdvUVJHMzVpSkxnSjJLU3Y0QXhoL3dibkE0a1VROXZRcU5O?= =?utf-8?B?QnlBbmptbElsRHlMcnNMdnN3RDBZTUU4WkovN2J2N2xvSEYwTHRwK0VLOUo0?= =?utf-8?B?RC84SDVSM3kxTmxJa2FncWZIL2NBN0huamg2WlkzeldadnowYVB4YzFXN0tG?= =?utf-8?Q?RRliXP/eenBkFDsLiJVloV9SIZL8tg=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM5PR14MB1657;6:35v1WatfyFWb9S9CSrMrAzYihd7Q+WbJ3CVOYtRZTKsfhRLd0onnWvKO3DnFdqZNqVNbR+X+7CeYDAeUNrhxOtBicUt5468WGY5IDbrwDmJrBW0L+gYkKKCW0aRytIQ/3cg+hig8g7re5RF/zakKsha8nmEYrNOiLqAOyfg2yA8BKGeGUu+5bYFMNw8YGVdhzYUU9QzpLf9f8ClRihITgu/jeXG/23N8Atn1yvL7nKrQ9o71eMrPu+y01Lg1UGQWe0lFqDVha9QMIaGRBWMGav7scLy1AaPDzN2/XP+gG8zjwIXIyvk1GSuL7FeuZlZiuHEhLeqyNotmJ7TlnG1QkROQT+FCIrznDXUvgG9aWr4=;5:ZnyADV59cgOqIsyMBfsxvdtcrOIa9kV7IR3j4LiYdYmdJ52MaYrU4TazuTHx/xpr9jifRlVWm/XJLQY72Wy4n8WDsRVJxGGpA1KLg8DFGuZS7HB+itOLNyzH6O36bVGpmIe/kl9zQHewe9ZrOfQI0bb9Kglqr94Aid+yfpsOuyA=;24:DQ1dzruDBnQi+ol2WcuDZbtwgfDeKu8wPCMNjrHoCTL+FZoMbM97nXLQe1CE/iM0qa875I3tz0MllT++Xn0LCGscrrUMcm/4TpseJCeUUgQ=;7:EwBUujlwN6KpqpfEsC2nompwA3X9BCdGrfUqLUS7PQ0fgz6KUx3Jy3Y99VSpHQgUMsy+okcxWtvqnqOMeDrhHFKRU2vKgu/HRoJKzSToWQmmujuMy9U7MMaj+JT5J439TkrgOHew8Njccp9ccQ6Kn88JKRrjPLVsKHMVW+6sEgERrlgMdhupL+cyZK+0TcMOLG7ZDbLukkNAaEpE8cWLsJTWGfU68Lfo6X/NQLfLzGQdoun+lVqsnVJp21Xw0EFk SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cs.rutgers.edu X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Dec 2017 02:12:41.5586 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7283bdcb-638b-47a1-17c4-08d54ccf4fdb X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b92d2b23-4d35-4470-93ff-69aca6632ffe X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR14MB1657 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 8642 Lines: 274 This is an OpenPGP/MIME signed message (RFC 3156 and 4880). --=_MailMate_96ABA5D6-39FB-486D-B617-DA87E049D04B_= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 8 Dec 2017, at 11:15, Michal Hocko wrote: > From: Michal Hocko > > No allocation callback is using this argument anymore. new_page_node > used to use this parameter to convey node_id resp. migration error > up to move_pages code (do_move_page_to_node_array). The error status > never made it into the final status field and we have a better way > to communicate node id to the status field now. All other allocation > callbacks simply ignored the argument so we can drop it finally. > > Signed-off-by: Michal Hocko > --- > include/linux/migrate.h | 3 +-- > include/linux/page-isolation.h | 3 +-- > mm/compaction.c | 3 +-- > mm/internal.h | 2 +- > mm/memory_hotplug.c | 3 +-- > mm/mempolicy.c | 6 +++--- > mm/migrate.c | 19 ++----------------- > mm/page_isolation.c | 3 +-- > 8 files changed, 11 insertions(+), 31 deletions(-) > > diff --git a/include/linux/migrate.h b/include/linux/migrate.h > index a2246cf670ba..e5d99ade2319 100644 > --- a/include/linux/migrate.h > +++ b/include/linux/migrate.h > @@ -7,8 +7,7 @@ > #include > #include > > -typedef struct page *new_page_t(struct page *page, unsigned long priva= te, > - int **reason); > +typedef struct page *new_page_t(struct page *page, unsigned long priva= te); > typedef void free_page_t(struct page *page, unsigned long private); > > /* > diff --git a/include/linux/page-isolation.h b/include/linux/page-isolat= ion.h > index cdad58bbfd8b..4ae347cbc36d 100644 > --- a/include/linux/page-isolation.h > +++ b/include/linux/page-isolation.h > @@ -63,7 +63,6 @@ undo_isolate_page_range(unsigned long start_pfn, unsi= gned long end_pfn, > int test_pages_isolated(unsigned long start_pfn, unsigned long end_pfn= , > bool skip_hwpoisoned_pages); > > -struct page *alloc_migrate_target(struct page *page, unsigned long pri= vate, > - int **resultp); > +struct page *alloc_migrate_target(struct page *page, unsigned long pri= vate); > > #endif > diff --git a/mm/compaction.c b/mm/compaction.c > index 10cd757f1006..692d21d63391 100644 > --- a/mm/compaction.c > +++ b/mm/compaction.c > @@ -1165,8 +1165,7 @@ static void isolate_freepages(struct compact_cont= rol *cc) > * from the isolated freelists in the block we are migrating to. > */ > static struct page *compaction_alloc(struct page *migratepage, > - unsigned long data, > - int **result) > + unsigned long data) > { > struct compact_control *cc =3D (struct compact_control *)data; > struct page *freepage; > diff --git a/mm/internal.h b/mm/internal.h > index 1a1bb5d59c15..502d14189794 100644 > --- a/mm/internal.h > +++ b/mm/internal.h > @@ -538,5 +538,5 @@ static inline bool is_migrate_highatomic_page(struc= t page *page) > } > > void setup_zone_pageset(struct zone *zone); > -extern struct page *alloc_new_node_page(struct page *page, unsigned lo= ng node, int **x); > +extern struct page *alloc_new_node_page(struct page *page, unsigned lo= ng node); > #endif /* __MM_INTERNAL_H */ > diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c > index d0856ab2f28d..d865623edee7 100644 > --- a/mm/memory_hotplug.c > +++ b/mm/memory_hotplug.c > @@ -1347,8 +1347,7 @@ static unsigned long scan_movable_pages(unsigned = long start, unsigned long end) > return 0; > } > > -static struct page *new_node_page(struct page *page, unsigned long pri= vate, > - int **result) > +static struct page *new_node_page(struct page *page, unsigned long pri= vate) > { > int nid =3D page_to_nid(page); > nodemask_t nmask =3D node_states[N_MEMORY]; > diff --git a/mm/mempolicy.c b/mm/mempolicy.c > index 66c9c79b21be..4d849d3098e5 100644 > --- a/mm/mempolicy.c > +++ b/mm/mempolicy.c > @@ -943,7 +943,7 @@ static void migrate_page_add(struct page *page, str= uct list_head *pagelist, > } > > /* page allocation callback for NUMA node migration */ > -struct page *alloc_new_node_page(struct page *page, unsigned long node= , int **x) > +struct page *alloc_new_node_page(struct page *page, unsigned long node= ) > { > if (PageHuge(page)) > return alloc_huge_page_node(page_hstate(compound_head(page)), > @@ -1108,7 +1108,7 @@ int do_migrate_pages(struct mm_struct *mm, const = nodemask_t *from, > * list of pages handed to migrate_pages()--which is how we get here--= > * is in virtual address order. > */ > -static struct page *new_page(struct page *page, unsigned long start, i= nt **x) > +static struct page *new_page(struct page *page, unsigned long start) > { > struct vm_area_struct *vma; > unsigned long uninitialized_var(address); > @@ -1153,7 +1153,7 @@ int do_migrate_pages(struct mm_struct *mm, const = nodemask_t *from, > return -ENOSYS; > } > > -static struct page *new_page(struct page *page, unsigned long start, i= nt **x) > +static struct page *new_page(struct page *page, unsigned long start) > { > return NULL; > } > diff --git a/mm/migrate.c b/mm/migrate.c > index 9d7252ea2acd..f9235f0155a4 100644 > --- a/mm/migrate.c > +++ b/mm/migrate.c > @@ -1136,10 +1136,9 @@ static ICE_noinline int unmap_and_move(new_page_= t get_new_page, > enum migrate_reason reason) > { > int rc =3D MIGRATEPAGE_SUCCESS; > - int *result =3D NULL; > struct page *newpage; > > - newpage =3D get_new_page(page, private, &result); > + newpage =3D get_new_page(page, private); > if (!newpage) > return -ENOMEM; > > @@ -1230,12 +1229,6 @@ static ICE_noinline int unmap_and_move(new_page_= t get_new_page, > put_page(newpage); > } > > - if (result) { > - if (rc) > - *result =3D rc; > - else > - *result =3D page_to_nid(newpage); > - } > return rc; > } > > @@ -1263,7 +1256,6 @@ static int unmap_and_move_huge_page(new_page_t ge= t_new_page, > enum migrate_mode mode, int reason) > { > int rc =3D -EAGAIN; > - int *result =3D NULL; > int page_was_mapped =3D 0; > struct page *new_hpage; > struct anon_vma *anon_vma =3D NULL; > @@ -1280,7 +1272,7 @@ static int unmap_and_move_huge_page(new_page_t ge= t_new_page, > return -ENOSYS; > } > > - new_hpage =3D get_new_page(hpage, private, &result); > + new_hpage =3D get_new_page(hpage, private); > if (!new_hpage) > return -ENOMEM; > > @@ -1345,12 +1337,6 @@ static int unmap_and_move_huge_page(new_page_t g= et_new_page, > else > putback_active_hugepage(new_hpage); > > - if (result) { > - if (rc) > - *result =3D rc; > - else > - *result =3D page_to_nid(new_hpage); > - } > return rc; > } > > @@ -1622,7 +1608,6 @@ static int do_pages_move(struct mm_struct *mm, no= demask_t task_nodes, > } > chunk_node =3D NUMA_NO_NODE; > } > - err =3D 0; This line can be merged into Patch 1. Or did I miss anything? > out_flush: > /* Make sure we do not overwrite the existing error */ > err1 =3D do_move_pages_to_node(mm, &pagelist, chunk_node); > diff --git a/mm/page_isolation.c b/mm/page_isolation.c > index 165ed8117bd1..53d801235e22 100644 > --- a/mm/page_isolation.c > +++ b/mm/page_isolation.c > @@ -293,8 +293,7 @@ int test_pages_isolated(unsigned long start_pfn, un= signed long end_pfn, > return pfn < end_pfn ? -EBUSY : 0; > } > > -struct page *alloc_migrate_target(struct page *page, unsigned long pri= vate, > - int **resultp) > +struct page *alloc_migrate_target(struct page *page, unsigned long pri= vate) > { > return new_page_nodemask(page, numa_node_id(), &node_states[N_MEMORY]= ); > } > -- = > 2.15.0 Everything else looks good to me. Reviewed-by: Zi Yan =E2=80=94 Best Regards, Yan Zi --=_MailMate_96ABA5D6-39FB-486D-B617-DA87E049D04B_= Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQFKBAEBCgA0FiEEOXBxLIohamfZUwd5QYsvEZxOpswFAlpDAZYWHHppLnlhbkBj cy5ydXRnZXJzLmVkdQAKCRBBiy8RnE6mzMdHCAC71ag0paIZocpuWqhgYNzczbow UZZvmhjCKGtQ7XeJZR35BeOix9iyF/qf4qV6abU48k/kqayDD7letJNRbrSmgqdI 1l44M7kFz5Shk5+xJ5StEDMig0J8dTwYiQDoawnAqBB9wbL2DMdZdRsnutAE6Yys HMC4aBghPcfAkmkM7RqJewMtIQgiRdhTeNKw4F0oyXHgMJ2Y/Ca3hl0BEeCjXOwL N2ORzHhoQZFeD+V7etCZO7ndsoVYI+fvzKikn9bTtgQNRG9WSloo5dixcnTD+I1T d74vuY6npTux0cqufxxTeyz8aKzPGiOYqNgC28VtQv6csQZwCDAhluTyHJZa =Id7g -----END PGP SIGNATURE----- --=_MailMate_96ABA5D6-39FB-486D-B617-DA87E049D04B_=--