Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751999AbdIUJAN (ORCPT ); Thu, 21 Sep 2017 05:00:13 -0400 Received: from mail-co1nam03on0071.outbound.protection.outlook.com ([104.47.40.71]:23140 "EHLO NAM03-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751840AbdIUJAI (ORCPT ); Thu, 21 Sep 2017 05:00:08 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Ganapatrao.Kulkarni@cavium.com; From: Ganapatrao Kulkarni To: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, iommu@lists.linux-foundation.org, linux-mm@kvack.org Cc: Will.Deacon@arm.com, robin.murphy@arm.com, lorenzo.pieralisi@arm.com, hanjun.guo@linaro.org, joro@8bytes.org, vbabka@suse.cz, akpm@linux-foundation.org, mhocko@suse.com, Tomasz.Nowicki@cavium.com, Robert.Richter@cavium.com, jnair@caviumnetworks.com, gklkml16@gmail.com Subject: [PATCH 1/4] mm: move function alloc_pages_exact_nid out of __meminit Date: Thu, 21 Sep 2017 14:29:19 +0530 Message-Id: <20170921085922.11659-2-ganapatrao.kulkarni@cavium.com> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170921085922.11659-1-ganapatrao.kulkarni@cavium.com> References: <20170921085922.11659-1-ganapatrao.kulkarni@cavium.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: PN1PR01CA0111.INDPRD01.PROD.OUTLOOK.COM (10.174.144.27) To CO2PR07MB2566.namprd07.prod.outlook.com (10.166.201.17) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: aeadd303-7375-4a0b-87b5-08d500cf2772 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:CO2PR07MB2566; X-Microsoft-Exchange-Diagnostics: 1;CO2PR07MB2566;3:KCNbX3+FFb4Gokq7m+aJfN7LnZdZkrGCGLWVZxjqX6lVoNOKkbVqpJi7UpeEmFwi89IL7tR8SiWqads3yc54rHpX63g5T+Ga5hm/rGEpgGj0VPGZT7Ydt8fsoqbzwbK4SfWpemSRnihgt0KfZmvWd95l8Q1rhQ3tRwOZsjqfkn7vpc9chsAvgSL4mipnkTWx9euB2Ue5ErQVx+tMoswf+FIzYIxb1d7GxwBcHMhs2yYG8KPRD5uNL6KgLZRkxuW/;25:pxR47ZFO5PPdIhjOZLcFWO7lx8jG+dYteNNo0IJHLa8iKf7Zhir1v/zXlaUNgsbVvg4KSMygeNjOBIfbRFWfCl0B+KbxV6v4Js0wTrR6Q6iMnYoY6wThSespoYqtFoPKh/G7SJpQYVhKwRqwWlJGo+esrX5tkeeHu4pa+5a/GK0XfZyLXl6QOGII4au7ATqkcI8Q8mrm8TRdcfavrZoV6QDECzMvJeK18/sMUi6DZYt8zZIQekRh5O7UHN1FWxf3SVBztcHIsIPnK3Apae+QiExIfkY2aUWYrk4hCq0cz+4qML3RDxq+oM5AvR2gNQAOY+Q4KQ3bOIjgLBotaTxh7w==;31:gXku83buartOCb/pqIaHBbsZstmkXzeob/RlQ4zmWbFN49J11kPAgiuHFwvFNWIrlPQ9zlY6VCAnmrStmrXiSJwHmP2pNk6AFhCs4il00uWa+qc3lVNS1w8Wq23d6EZth44jHNMy6BKMHY2NewpAppOrImWC5FlqaFZPVU15ONTvBgSIH/6TuvS2fWS+nZjq6MdK5BXjxtX4/VxCBZuBP6F7XTgIEHjg3Dp86xXoEUs= X-MS-TrafficTypeDiagnostic: CO2PR07MB2566: X-Microsoft-Exchange-Diagnostics: 1;CO2PR07MB2566;20:yq3Z6nKEI8jwwO9YyUcIp0w3VAzAQMCRSHd0H1r7Dh/NzcAjY/r1y62YedBMA8VoaD+M5R6TCAkhxA/wRzP7hPe2J4ReGfSIn19U7D2nAwxnVdcXWy3/qT/5QFLmrq0W2nIfoSk2Pu/J+p8xeKIMV+N6MLlQABAUn8LN8iskUGN64X1CzTMaPIQ2cvtLcy3OxttSnJvdQ3QN6W4hnYNz8hc8PwFs5Tk9SXmVJx9Bv79FS0ULxMlRYdyKceYh1mLwl/vFNRa39vT05rPmkTFjeFN4DIMddlOZARKryclLMket89M38TMsj0I0M+r7FVwVAa8DaikQ2Bqw/hx+v4r3l4fOKajtkojWjIR2nzI3a/MyYeO4qNWc1ImmcQG9skVyrdRSuk/GtTz//bv893Yjp5Hb5S5y12y7Mp9beB3Yanr4eRD67O6UD9gyE3lj69iBvXRWnFVDCE9FTdH5IUkhFt8UzXbrZ+55ottekVWpRXw0GbEoTjUNlyccGFvbcufF;4:326alYmmvf/zY/Pk5t1koU1uJryg2Ynw3VdryBQUJkBwWvu+BpXnzTEgAxmmVcUzlXpcw3RtvrczWwqBReEQxT47Nd7V16J5AoA5zSoN4oBiAUmAPYXmzLsIcwsBJb9qndvuwJHjkvEYNUorWzty3aMd3Tnm9ofDhAYEn0fLDLVIhXCzrfakiuMF5LhqRL02KuJs1QV3ry2XjyP2LLlby6yoDHz3tXMK7eVpAc471v8bxUjAOo/T3W7SoMvk5Ikq X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(3002001)(10201501046)(100000703101)(100105400095)(93006095)(93001095)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123555025)(20161123562025)(20161123560025)(20161123564025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:CO2PR07MB2566;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:CO2PR07MB2566; X-Forefront-PRVS: 04371797A5 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(376002)(346002)(199003)(189002)(1076002)(3846002)(6116002)(6486002)(316002)(68736007)(6506006)(16526017)(25786009)(97736004)(305945005)(7736002)(36756003)(6666003)(16586007)(5003940100001)(4326008)(2950100002)(5009440100003)(86362001)(53936002)(76176999)(50986999)(189998001)(39060400002)(66066001)(50226002)(478600001)(8936002)(106356001)(105586002)(33646002)(7416002)(2906002)(47776003)(8676002)(101416001)(81166006)(6512007)(81156014)(5660300001)(72206003)(50466002)(48376002);DIR:OUT;SFP:1101;SCL:1;SRVR:CO2PR07MB2566;H:mypc.cavium.com.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CO2PR07MB2566;23:NJtrjQGeRup+7QtWe5rIzw/547HeBJ0aXFneAOA5I?= =?us-ascii?Q?PjQyMG2BQcWh7r/OcYpiVPLnElpH7tLMWx9jCoChmUGcaiNjCRTfDuH6mzJ2?= =?us-ascii?Q?a+JoHzEA1NNVzlss/D6d2B8NUhUfPDuRqUHjeRPzQYSQOrEPINxu3rXw8vPh?= =?us-ascii?Q?3ac3fAEbyb2eJeSfHryZWSfYCY3ixpbKdVrZCw8EqJ+ajCCEyVzL2skHZ53c?= =?us-ascii?Q?vGoM028j6orf+TwV2ef07IBQG/UN9vV3ItWGWdLuxFv8FCsZUSacuJB8hE1q?= =?us-ascii?Q?z6hL1zSja2a5PvJj6iZPPmTQOTXbhreWtY/KEwj2ucPOXbcileh5cvsI8wDz?= =?us-ascii?Q?5m0PJ+SNZljjskHh6PwxCHFqfvMMAgSO3m5kU8khjVB26MtnWrdaXqZtJv8C?= =?us-ascii?Q?LV6HWQNenZcC/gtSPQcDv7nYKB04av9Gep/QTIU57q2pUWHoJCSaidoe4ivq?= =?us-ascii?Q?qIe799gC2N8Y643bDVNxckVUO0beuVWWCGkLClL7dB1UD4z0xOb0L1gJal2k?= =?us-ascii?Q?rSwTaZ0jHkpbcSZrBDK2fKG4cRhtMhmvYJLLVOwlh9gpWlhlwQjeIPyOkisS?= =?us-ascii?Q?MUfJIpS6WAhKzGt7Sc4CEUVh1QyClddWBxA3xHsgrgQRVqnwVzQGh5nzMi/6?= =?us-ascii?Q?HYQwSQXID6GbT/S5L2S0W9sOOgfyNpVRbiLKXZgbkk4TvmDGpvZsKOLNE0tm?= =?us-ascii?Q?FnEB+54ygRfjPgSMKRu9pL1maguQxPKPYaDwS4vrt31gZabs1Spq4R4ZUnqj?= =?us-ascii?Q?tXgSlqh5C75RZFRExnzZWW6ha40Vrt3Sycof9h5LwJR3921HFWGezAzOsXS9?= =?us-ascii?Q?Nuuvd+XzRhaqD4IeKypwUL9uotg4T6WPg8+aCTzn/qTmGngmN+ryaTI+zpAG?= =?us-ascii?Q?L9DI5lw80bswwQjP8xFwE4vQ9Wj7atDX5XR1e0hzTCDXs+G2NW0hQNbVgy91?= =?us-ascii?Q?Id0tCZb7Fisx7vyhJFcnTKiz3kWp5JGhRbdRNYtvQLEn43zLDiTVHxordc20?= =?us-ascii?Q?Lm16KIyk59qZ1GXINMwwbPPa7sysEG9MoxmMFNyfOi8GXs9kBy2PJuiuE2Ww?= =?us-ascii?Q?5hqmNvtotGffn9Ldt4eCOYTlvpSzeT1M8o5iKGU+Yx6dDXbdb0Vh2CUcWPEj?= =?us-ascii?Q?wLxHA2ncyDK4rTcXYyPS0a6x/EoMWb8eBSuUij6Ea5umAAkmhYZIA=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;CO2PR07MB2566;6:OTPx7IcUpqvyn9/pzQcxc3xQyXdSYpJWUp/j5yo7ett7kxJ1OYyrYNHFoJIPAQ+fy6WoW2ZAZHFsWR8Pz1cpiTrMJZlKKdHKT+/57+01uKpRsAcoVq2QBQzIgVHNu6OznimDiIFV/GtXgxWq/eEnIR8sf0k14B762SLUrNu55BXy0UcXJnsetQZsNM/cPRklM0OuVAT3013DmZc2xqJq4XwV/HMK4RdqordxVGmLYUvyBe0AwV1e0PRaWpSpuV/r6qBmmILLDElnSNgbLrUrnnlOjok3Lohe6UOP++4sc1ZGF1kANn3HGwDa13IiE2yMC/R0pqGvhltCGRw3a9HK7Q==;5:ecreRcEJA+UdUmKCfRk7JALCvPRtML03rl+UiiA5xwUjegheX32LZlq3UWZQKbr4DbsD6VaYlAPiOFRN9zhy7OABBgLRGl9+Od5RRT0n3uk/ndotHsgKJfG0fyJjwAqfwvPFzhvGnofYHK/cRjCtwQ==;24:tqukQj0iAeQgehTf41AoqPSnMA7h+uYshlI8afLJAFUuK2vj/ubUHWQbEBy8+9nmlIFwGL3UlR7Mq1hYf0ERtAsrlsihkggkV3gqhSZz8os=;7:MJS52IoM5j9v/9n4Mv2IBVysb2zdjJqwFG02xXHyIXH9H8ipgF/qCFxaQQYQ9SwSnhegYgkoBWGh3yH8EemYtSYbSj+RXhvXpMsvUOfcSbOaZnqKWJjkIc5ygk2VqbM9luVZZk2A7Vj7Q9N7nnAkTY58InJwPr5EfmlKp6ENDYRdZruis2swuWMH143OsUR8fL0tZpVRY38DLA7HdirkNs0cqP0IFieW8ZGtDzMoB7w= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2017 09:00:01.5340 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO2PR07MB2566 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1694 Lines: 45 This function can be used on NUMA systems in place of alloc_pages_exact Adding code to export and to remove __meminit section tagging. Signed-off-by: Ganapatrao Kulkarni --- include/linux/gfp.h | 2 +- mm/page_alloc.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/include/linux/gfp.h b/include/linux/gfp.h index f780718..a4bd234 100644 --- a/include/linux/gfp.h +++ b/include/linux/gfp.h @@ -528,7 +528,7 @@ extern unsigned long get_zeroed_page(gfp_t gfp_mask); void *alloc_pages_exact(size_t size, gfp_t gfp_mask); void free_pages_exact(void *virt, size_t size); -void * __meminit alloc_pages_exact_nid(int nid, size_t size, gfp_t gfp_mask); +void *alloc_pages_exact_nid(int nid, size_t size, gfp_t gfp_mask); #define __get_free_page(gfp_mask) \ __get_free_pages((gfp_mask), 0) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index c841af8..7975870 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -4442,7 +4442,7 @@ EXPORT_SYMBOL(alloc_pages_exact); * Like alloc_pages_exact(), but try to allocate on node nid first before falling * back. */ -void * __meminit alloc_pages_exact_nid(int nid, size_t size, gfp_t gfp_mask) +void *alloc_pages_exact_nid(int nid, size_t size, gfp_t gfp_mask) { unsigned int order = get_order(size); struct page *p = alloc_pages_node(nid, gfp_mask, order); @@ -4450,6 +4450,7 @@ void * __meminit alloc_pages_exact_nid(int nid, size_t size, gfp_t gfp_mask) return NULL; return make_alloc_exact((unsigned long)page_address(p), order, size); } +EXPORT_SYMBOL(alloc_pages_exact_nid); /** * free_pages_exact - release memory allocated via alloc_pages_exact() -- 2.9.4