From patchwork Tue Sep 5 03:13:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yuan Can X-Patchwork-Id: 13374333 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 39247CA0FE9 for ; Tue, 5 Sep 2023 03:22:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DC6598E001A; Mon, 4 Sep 2023 23:22:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D9B54900002; Mon, 4 Sep 2023 23:22:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C89D28E001C; Mon, 4 Sep 2023 23:22:28 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id BBBBF8E001A for ; Mon, 4 Sep 2023 23:22:28 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 91519120928 for ; Tue, 5 Sep 2023 03:22:28 +0000 (UTC) X-FDA: 81201095976.01.12CF7C8 Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by imf09.hostedemail.com (Postfix) with ESMTP id 3C4BA140017 for ; Tue, 5 Sep 2023 03:22:25 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf09.hostedemail.com: domain of yuancan@huawei.com designates 45.249.212.188 as permitted sender) smtp.mailfrom=yuancan@huawei.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1693884146; a=rsa-sha256; cv=none; b=TVLiV99scxx3qQ6IxGu1It3IvcVJaGuzGqtWtr4LD94dVxcGTwYZI47AEdkD3e/V0LZFRo 0OSmecO7rctNKDxG29B9DgYadXN+lPkfgIdavkXD/gdJMmilsPW//hShg8cXul5InqHGrP zTG76IGYYqlxxGXHuIZ8WknktN+jQpY= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf09.hostedemail.com: domain of yuancan@huawei.com designates 45.249.212.188 as permitted sender) smtp.mailfrom=yuancan@huawei.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1693884146; 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:in-reply-to: references; bh=YvRBsl8Is0sx0ipxqHTmw2PcE7ETXpnURxmC81NbE4M=; b=KBkq7zvDv8uLBY1rjJ4mjfR1guWqjxDAGxdaqFEahterOKChqhqCx7Gnwr2mOOlv2qFYQG sRl+emxEQxveia6XES0l2AWwALV80JeKiPsIAnvdgZjSscVNlUTE+NbncnsnlG+X2Ki5dS 5X99QAI8jFlrWipIMNKWhFdofJ08yPI= Received: from dggpeml100024.china.huawei.com (unknown [172.30.72.56]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4RfrN062svzVk3D; Tue, 5 Sep 2023 11:19:44 +0800 (CST) Received: from huawei.com (10.175.112.208) by dggpeml100024.china.huawei.com (7.185.36.115) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Tue, 5 Sep 2023 11:22:19 +0800 From: Yuan Can To: , , , CC: , Subject: [PATCH 1/2] mm: hugetlb_vmemmap: fix hugetlb page number decrease failed on movable nodes Date: Tue, 5 Sep 2023 11:13:11 +0800 Message-ID: <20230905031312.91929-1-yuancan@huawei.com> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 X-Originating-IP: [10.175.112.208] X-ClientProxiedBy: dggems701-chm.china.huawei.com (10.3.19.178) To dggpeml100024.china.huawei.com (7.185.36.115) X-CFilter-Loop: Reflected X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 3C4BA140017 X-Stat-Signature: 3ozognwbencwo1jif1sbkprtg8ooxfzr X-Rspam-User: X-HE-Tag: 1693884145-930562 X-HE-Meta: U2FsdGVkX18HhDYAke/bIFkHf8Jfw+M03XQPg93kEtTGgjOb5XYYMLo++nPyAig2H2z8f1PeDo96nuMf20Uft2P2y65mIHV7ZpWSmuciT/zcyYX8L2Eeypf0CMdXzw+XNQxSw/aXAwyfhhrT4MYzPhqrUAjIvkebEHzQE0cjiwNqQ5QbbyTpdlJjeMjenAOvf5A8feuNn6ABHJGhil3U2g34m71E4A5tI6aO91JVUgqSns3qiP/YrRn3zXy2+44aMYucZUoCrfYvUl4952rtT3yEHNIkgceXF2B5VirAr46QsP8leSnLhG4sxifxVpQ8dWPtyGwiVs6N+HFx/WUia3CrK22+exNwwRo62Vhv8qXiYfcwD29NpkXKwf0mdz+FoHRxg8aJKGFwVH1dryLis4gPGAIZ8nG5f95bkk/i2bshV1qE3Rtb2JUi/J69XGG41WJoxfPAt+OcFizVBIRKGrpmQ+X19mMyMCHVyABlO+rYEEfDuOm0mQX2lBpF0eVHPrcHnoNzy4hdY6Y3aaQscVUxOwlAqoYDfhOpoj8vJE4BNB3WTy8sGZt9ccEab/2pNcjWwrO8dd7I7tUgcKSsMapfx+eUkbW3RMHQkKyPvFMa5JSNlks2TFu3ShwxD3reMAUJmFc/6qa6beSRGC8/1uPQZ6cV4WkrLIqKDHUVvCozNjzKafIjU8Bh2u/JACwl07ZjHWN0yWRY6I2C3IXw5WmdgSdTcgx5aVT26q42IaW86ZEDrRFv2DTzseG2yT1eSrzJ4G+vGUalyA/Mpw1DDG9kHcge31B3K9rMwWmOhwBgsoQ4nAugYKO6CR3c4aUD7C83lRmzTD2ftLCX56j9VKGXUOiReKHVOr0JJ3queWdqMdesXiEWqZHN3decXet80P9K4/vnXsXOC8mAUOiIhrOIoiFha7lHxc41JFYca6w3iF/5JKCi/5U5v3yeeKBKWy9j5mz75jT+LrT3BMR 5oJMz21O +JAdMvRB3g9QfKlKyy4wiDObA/lMwdC2XQsoN7SSMwySB9dWm8apCjw2/P2WKEIY/s0/YhsmZqaHIHjATk9kakMdU0kOG6a7ruB6JFEMr1UO47sCtl/kI2Y5W/vWFRngXmtKYYh0p10AtjWMnHj1PLvX5EQ== 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: The decreasing of hugetlb pages number failed with the following message given: sh: page allocation failure: order:0, mode:0x204cc0(GFP_KERNEL|__GFP_RETRY_MAYFAIL|__GFP_THISNODE) CPU: 1 PID: 112 Comm: sh Not tainted 6.5.0-rc7-... #45 Hardware name: linux,dummy-virt (DT) Call trace: dump_backtrace.part.6+0x84/0xe4 show_stack+0x18/0x24 dump_stack_lvl+0x48/0x60 dump_stack+0x18/0x24 warn_alloc+0x100/0x1bc __alloc_pages_slowpath.constprop.107+0xa40/0xad8 __alloc_pages+0x244/0x2d0 hugetlb_vmemmap_restore+0x104/0x1e4 __update_and_free_hugetlb_folio+0x44/0x1f4 update_and_free_hugetlb_folio+0x20/0x68 update_and_free_pages_bulk+0x4c/0xac set_max_huge_pages+0x198/0x334 nr_hugepages_store_common+0x118/0x178 nr_hugepages_store+0x18/0x24 kobj_attr_store+0x18/0x2c sysfs_kf_write+0x40/0x54 kernfs_fop_write_iter+0x164/0x1dc vfs_write+0x3a8/0x460 ksys_write+0x6c/0x100 __arm64_sys_write+0x1c/0x28 invoke_syscall+0x44/0x100 el0_svc_common.constprop.1+0x6c/0xe4 do_el0_svc+0x38/0x94 el0_svc+0x28/0x74 el0t_64_sync_handler+0xa0/0xc4 el0t_64_sync+0x174/0x178 Mem-Info: ... The reason is that the hugetlb pages being released are allocated from movable nodes, and with hugetlb_optimize_vmemmap enabled, vmemmap pages need to be allocated from the same node during the hugetlb pages releasing. With GFP_KERNEL and __GFP_THISNODE set, allocating from movable node is always failed. Fix this problem by removing __GFP_THISNODE. Signed-off-by: Yuan Can Reviewed-by: Muchun Song --- mm/hugetlb_vmemmap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/hugetlb_vmemmap.c b/mm/hugetlb_vmemmap.c index c2007ef5e9b0..0485e471d224 100644 --- a/mm/hugetlb_vmemmap.c +++ b/mm/hugetlb_vmemmap.c @@ -386,7 +386,7 @@ static int vmemmap_remap_free(unsigned long start, unsigned long end, static int alloc_vmemmap_page_list(unsigned long start, unsigned long end, struct list_head *list) { - gfp_t gfp_mask = GFP_KERNEL | __GFP_RETRY_MAYFAIL | __GFP_THISNODE; + gfp_t gfp_mask = GFP_KERNEL | __GFP_RETRY_MAYFAIL; unsigned long nr_pages = (end - start) >> PAGE_SHIFT; int nid = page_to_nid((struct page *)start); struct page *page, *next; From patchwork Tue Sep 5 03:13:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yuan Can X-Patchwork-Id: 13374332 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 67EA3C83F2C for ; Tue, 5 Sep 2023 03:22:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9A62F8E001B; Mon, 4 Sep 2023 23:22:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 955758E001A; Mon, 4 Sep 2023 23:22:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 843828E001B; Mon, 4 Sep 2023 23:22:28 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 786278E001A for ; Mon, 4 Sep 2023 23:22:28 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 38ECA40928 for ; Tue, 5 Sep 2023 03:22:28 +0000 (UTC) X-FDA: 81201095976.03.506833B Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by imf08.hostedemail.com (Postfix) with ESMTP id 8B061160004 for ; Tue, 5 Sep 2023 03:22:25 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf08.hostedemail.com: domain of yuancan@huawei.com designates 45.249.212.187 as permitted sender) smtp.mailfrom=yuancan@huawei.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1693884146; 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: in-reply-to:in-reply-to:references:references; bh=JqACCiK3LAII5Me5mXKTjqRQDlo/P/IAfX5dDhQNS7o=; b=aVuijBFia6pdMVQgM+8nJj8T0U4UPpfJc6UAwR6h6KdFJ1Xo/Sg+/nY9+iBslGZP4Gv+2X J/qjxagZ5uy6K1Wq5YshjXV2fJwB3wUlnsK2uKQvIbaiP2xYB8oEtovI088aB+RzHdDKbc y8ussSMR5IXFL95wGtbK6/TbpZ/+aPI= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf08.hostedemail.com: domain of yuancan@huawei.com designates 45.249.212.187 as permitted sender) smtp.mailfrom=yuancan@huawei.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1693884146; a=rsa-sha256; cv=none; b=eRnGxc4RpKY2SWSIR8cCb1OY0ZXIvg6tQLOo5dPegjGfxz0Ga5caIegOg2YyrfFEUBqrQA Dj5hyY4j++72rNESsnN96YQwKAGRAhEBd22sJkhsQpc3x1G3aFT4cb9usBZi8GzQkuNXeS vrDzs1t3HQeki/u9+3pOajcffCnOFMo= Received: from dggpeml100024.china.huawei.com (unknown [172.30.72.57]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4RfrLQ3HyPztRgb; Tue, 5 Sep 2023 11:18:22 +0800 (CST) Received: from huawei.com (10.175.112.208) by dggpeml100024.china.huawei.com (7.185.36.115) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Tue, 5 Sep 2023 11:22:19 +0800 From: Yuan Can To: , , , CC: , Subject: [PATCH 2/2] mm: hugetlb_vmemmap: allow alloc_vmemmap_page_list() ignore watermarks Date: Tue, 5 Sep 2023 11:13:12 +0800 Message-ID: <20230905031312.91929-2-yuancan@huawei.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230905031312.91929-1-yuancan@huawei.com> References: <20230905031312.91929-1-yuancan@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.175.112.208] X-ClientProxiedBy: dggems701-chm.china.huawei.com (10.3.19.178) To dggpeml100024.china.huawei.com (7.185.36.115) X-CFilter-Loop: Reflected X-Rspamd-Queue-Id: 8B061160004 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: o14ct8zjjzkr6quefszb7r3imjuf1phm X-HE-Tag: 1693884145-847229 X-HE-Meta: U2FsdGVkX1+Px23DsFHrwAM1axoy2jJScpks6rI6R8AygRH0gxINyO4K6fBzY6srW8rlQx7eQ6RkbOWlNgl1Cru6BS6Dy0JDfNx35SDg5ctgagmJ02eNyNi2asafqmmLp/wsCdwrZ4EWMzn6SQMeRxntdkXUI1ILDBoQwfozm8KMI01Nc550Th7C8JapOduEN9xClFasx/4rviJSLO+M0V1Pd9AgaZFexATED7OcKhnYNldMG+DgD3nF1aI9IyrGS9Fyi0KESJaI5CsAYNs7owzray4/m+MVdYFrXXy/XqWH7akv12TqkXxUg0q7dSnhh1HmJKfFy3NePu6BKL+FZS5vGw+waX6M+6DrC6pSjsJlFrkRsid8vMwVgHBmuxLaysqXnJE2n+icluW6ziYLwWKZmDFrebL84/LPiWvHrVwmPQqK/uAJSm6ClSTz1Vbpc18vW1rvPuSh8JqX6S2cMdx/zO8KN+WwVo1Xonb4aH6caUnY0AVoMXVmym31fkP4eQ5QzXfQxY4OytRHxU0j69I/H5oSNKV+8IdvNqz/Cz7qRAZIhsjkEKxD/qI5qpp5CnOriTUkuFx7vJtOKhX46wuImG4F0kdfhvdk7intB1vkmQ6uYzS+UZncL+elf7Q7CrWabMqqYNgQp7hQSUjrwd/EL5VEScX7oasarPTDgjRLSS8WaUwQftoCJDMOoEATMDHJGT42WwU04gMq6pkV0a+WssL3BRdO9Knr/iE1AsQEL2eaEKelpn0I03T9EcMy1FWjHPvFtlM5byzDSZePgwFLDBAqNH2Jt23znxvVcgykWBKXUlGs5wPtGHRm6xQkXFZHya9ZA9gKbuegfX1aEPJNUiGz6bwxCIZ53Gk30AqMcqYOHhHDE1WUAWkV5LKJSTHFMm3b6D8i+bz8w1KuoLuwhJyh/n2/yyKlqWiM0TTzh0iUd40JSLkIn9BegFPzL99MVhG8aR+6jYO+L3D 71gQbOgF axusoVS74nLQFL/sOJ7hXYlEQAQw+Xmpbnwb0fo5VTORuSZP17tuwIXdWGLWaVXVffMDCi+0Mj+uqQ/tWrsD4MNmAeyVlphnTK/T/nDyXll5dGghoR3DwHzvsZTfmnT7CRNEjlACTU75VB51tw3FZum6MiA== 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: The alloc_vmemmap_page_list() is called when hugetlb get freed, more memory will be returned to buddy after it succeed, thus work with __GFP_MEMALLOC to allow it ignore watermarks. Signed-off-by: Yuan Can --- mm/hugetlb_vmemmap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/hugetlb_vmemmap.c b/mm/hugetlb_vmemmap.c index 0485e471d224..dc0b9247a1f9 100644 --- a/mm/hugetlb_vmemmap.c +++ b/mm/hugetlb_vmemmap.c @@ -386,7 +386,7 @@ static int vmemmap_remap_free(unsigned long start, unsigned long end, static int alloc_vmemmap_page_list(unsigned long start, unsigned long end, struct list_head *list) { - gfp_t gfp_mask = GFP_KERNEL | __GFP_RETRY_MAYFAIL; + gfp_t gfp_mask = GFP_KERNEL | __GFP_RETRY_MAYFAIL | __GFP_MEMALLOC; unsigned long nr_pages = (end - start) >> PAGE_SHIFT; int nid = page_to_nid((struct page *)start); struct page *page, *next;