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 50AE5C3DA6E for ; Thu, 28 Dec 2023 13:13:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 75F866B00CB; Thu, 28 Dec 2023 08:13:01 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 6C0156B00CC; Thu, 28 Dec 2023 08:13:01 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 55FAE6B00CD; Thu, 28 Dec 2023 08:13:01 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 3EEC76B00CB for ; Thu, 28 Dec 2023 08:13:01 -0500 (EST) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 18BA040735 for ; Thu, 28 Dec 2023 13:13:01 +0000 (UTC) X-FDA: 81616267362.04.200BBA4 Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) by imf07.hostedemail.com (Postfix) with ESMTP id 32E724000D for ; Thu, 28 Dec 2023 13:12:58 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=none; spf=pass (imf07.hostedemail.com: domain of artem.kuzin@huawei.com designates 185.176.79.56 as permitted sender) smtp.mailfrom=artem.kuzin@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1703769179; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=CO6P96GorMf6ozA2yE8mSPDnKHZJTo9FY6vW82EAFVo=; b=iHT0jFwgDhrBXNUXlK4Y9VgDl4w7dLUXq/zLKhZsISw3ga5wbYU3tOmZc6RVuLbTWfffvW jK0Zcu79a7J5foTy1c+EtngNazuaBGJX6Z9lVhUyJX9u5LaXZpv7aftbIpVjxZDekGOScR 4/ZfrSuu1dIvO7J+OFmoVlb/r912eos= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=none; spf=pass (imf07.hostedemail.com: domain of artem.kuzin@huawei.com designates 185.176.79.56 as permitted sender) smtp.mailfrom=artem.kuzin@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1703769179; a=rsa-sha256; cv=none; b=COQWc+rAYW9XfP512TG+iroQ/5fzOeJyB3huqjvC4P9uvxnPaQrxDuecPY5e9nWrumcKwe +8u4f/f2i7fQYeJzzV0WXa9KJxbostNVUr4G5/PalSyKyPVe+AkC4TJlu/w9WCbAZUjCME 1uGOkvZWPl6s/xDjWTDMM8oN7WVADXk= Received: from mail.maildlp.com (unknown [172.18.186.216]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4T185D2r4Pz67kr9; Thu, 28 Dec 2023 21:10:40 +0800 (CST) Received: from lhrpeml500001.china.huawei.com (unknown [7.191.163.213]) by mail.maildlp.com (Postfix) with ESMTPS id 39BB2140DD5; Thu, 28 Dec 2023 21:12:57 +0800 (CST) Received: from mscphis00060.huawei.com (10.123.65.147) by lhrpeml500001.china.huawei.com (7.191.163.213) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 28 Dec 2023 13:12:55 +0000 From: To: , , , , , , , , , , , , , CC: , , , , , , , , , , Subject: [PATCH RFC 09/12] x86: add support of NUMA replication for efi page tables Date: Thu, 28 Dec 2023 21:10:53 +0800 Message-ID: <20231228131056.602411-10-artem.kuzin@huawei.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231228131056.602411-1-artem.kuzin@huawei.com> References: <20231228131056.602411-1-artem.kuzin@huawei.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.123.65.147] X-ClientProxiedBy: mscpeml500004.china.huawei.com (7.188.26.250) To lhrpeml500001.china.huawei.com (7.191.163.213) X-Rspamd-Queue-Id: 32E724000D X-Rspam-User: X-Stat-Signature: boawa1byi733ra5tg14dwwj4trgdqw1y X-Rspamd-Server: rspam01 X-HE-Tag: 1703769178-228698 X-HE-Meta: U2FsdGVkX18XF7YOc2uQmhRC1LDEBkIRiWW0asTd7Vmq0W+5NE/zThThrOMCrfhJBa2a6AAtaQxTq7wVX4WNm7I2s8esBKrfWFOZptsgZl/KNmdQlvf004JMiQWrU82hyw2PC3t/J3I46jN0pnG+GZlzoMDCFO3wYr0xLL+FVq918LUT3reHlfrSaD++k9c/wtr3OFgVGm+Wz0dg2iuf14bBj6z3Ei3k5JaXYMeerVKoVm5+D0WjCmz5nwNI/i0Il7jJCwXtY3HHI11R4z/7VLso5LmGI4vlIlon5Q7QmSghm8do3pVnYQtIZ7L6imdH0bJ6A7U2KdYaxrz8FY53Uvrxmd1uttVz4Cin0jykXP1QwFh/IYjtCxEtLZHtkhzMRliEx4bZJu8nQRUOj1NVpZu2OzgNdIZnkmpXU44fQFyCgTddvPEGCMx4cJLmmshzfmjDBzi9LoeFEy7+H9rrm1InSCmYaJ/e3UwH5LuTNwzK+0VoYKDW/MxZ6pqjkg3jc4IJXaqYDBtT3+RpskUfSj1/ivBOTSTKxZMHCl17+B8eADNrsdmdZLTkyw4Z5SEe9GzBPlBWxcHttzdD/P7VVxXUeARsTOp6ZMW9YKwfH3367zsokTA/V4Ec9mAPpRevla+XCSibJwhl3OvFAL+jDalY/pekSQC3V3Qp8xg+hDlJACElqUFB1jFlG3RMAfUfhhnZuaHVXgCMVE7RWE3KMFMm6ItyK20q2Y0AAg6Zygzqmpam9Iplt1JkxXyL8cq3KfE4bwI5hNSxnpp+LFEyFxPR2ZFd3l06dcTUmb+5843kJh8s46EeZxNHtBRNbO+HkOc7g0t53ek7njpQnHiPzA7t9DZRupzNTceE6rE1per5Cfo/hev7BNsRkb2FtDHzXHH31rAlgdKUOxkY05yAvwCJA6L0mjoeXrxeP2BTB7MFY44E3AfgwLWSu2NSRkho4+GWogj9P4vnnbXVK16 0hZKrI3m lR1Fjn291nUYqDQNvtHJsFSp1FOsAGDNvLXeiozh5a7K2qU9I9VNZuEKqcv0/Ne1/Ti2ojN9W/7N5k+p9mtneSs/UJRVg7kP4u7o3iKj1YPxT+qfJKbCjGtcjqNQdqCTlNmNTatXHFF04Ip0wqzRKl4/cHLcYHqv6Ylo6FStlrj22iFewZapWs9aB1zaUBk1yhDeIeb90HMnQoyr3IEgWgE/LzH4IJlkZAg1QPa0V7aCknO3aKcVNKA/ylK6wr7jvTgCZebIjl/NdgG3Z9fdsw5oeEw== 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: List-Subscribe: List-Unsubscribe: From: Artem Kuzin Co-developed-by: Nikita Panov Signed-off-by: Nikita Panov Co-developed-by: Alexander Grubnikov Signed-off-by: Alexander Grubnikov Signed-off-by: Artem Kuzin --- arch/x86/platform/efi/efi_64.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/arch/x86/platform/efi/efi_64.c b/arch/x86/platform/efi/efi_64.c index 77f7ac3668cb..986d2dddef7a 100644 --- a/arch/x86/platform/efi/efi_64.c +++ b/arch/x86/platform/efi/efi_64.c @@ -35,6 +35,7 @@ #include #include #include +#include #include #include @@ -71,6 +72,9 @@ int __init efi_alloc_page_tables(void) p4d_t *p4d; pud_t *pud; gfp_t gfp_mask; +#ifdef CONFIG_KERNEL_REPLICATION + int nid; +#endif gfp_mask = GFP_KERNEL | __GFP_ZERO; efi_pgd = (pgd_t *)__get_free_pages(gfp_mask, PGD_ALLOCATION_ORDER); @@ -86,7 +90,12 @@ int __init efi_alloc_page_tables(void) if (!pud) goto free_p4d; +#ifdef CONFIG_KERNEL_REPLICATION + for_each_online_node(nid) + per_numa_pgd(&efi_mm, nid) = efi_pgd; +#else efi_mm.pgd = efi_pgd; +#endif mm_init_cpumask(&efi_mm); init_new_context(NULL, &efi_mm); -- 2.34.1