From patchwork Sun Mar 5 05:30:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gao Xiang X-Patchwork-Id: 13160063 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 EC50BC61DA4 for ; Sun, 5 Mar 2023 05:30:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5C95B6B0071; Sun, 5 Mar 2023 00:30:49 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 579FE6B0073; Sun, 5 Mar 2023 00:30:49 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4689E6B0074; Sun, 5 Mar 2023 00:30:49 -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 38FA76B0071 for ; Sun, 5 Mar 2023 00:30:49 -0500 (EST) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 0795580773 for ; Sun, 5 Mar 2023 05:30:49 +0000 (UTC) X-FDA: 80533720218.04.945FA80 Received: from out30-131.freemail.mail.aliyun.com (out30-131.freemail.mail.aliyun.com [115.124.30.131]) by imf19.hostedemail.com (Postfix) with ESMTP id B9E991A0006 for ; Sun, 5 Mar 2023 05:30:45 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=alibaba.com; spf=pass (imf19.hostedemail.com: domain of hsiangkao@linux.alibaba.com designates 115.124.30.131 as permitted sender) smtp.mailfrom=hsiangkao@linux.alibaba.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1677994247; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references; bh=PjuvhjYnUnzXVSDQcdSauUdHqZHGPKoxZR41NggB9qw=; b=xr9P2smusIPnEnwxPzGF8EYCl5YHwb8Vd3EFqw53xvzQtFYgLoZRn3Sbj9sn9Z/PJkaafE 7lDtKY51J1fw8iQmOIUpBby3rJCcdYDEpRf0AeigR0xZaKdbH0BiVEwPfoXWajmGMRPGnO 55sXZckbvWRSIwwZH1J2Rxh7CPREq74= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=alibaba.com; spf=pass (imf19.hostedemail.com: domain of hsiangkao@linux.alibaba.com designates 115.124.30.131 as permitted sender) smtp.mailfrom=hsiangkao@linux.alibaba.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1677994247; a=rsa-sha256; cv=none; b=mo6ZTWDhnrxVoJRnMwD2VLFqcqMnZesjU45Cy5STAbK5FQFUGI63/5rnsZ3dliahHn3g6N WJ9WrwGF6iFenlwlMduuzZNMBMg0tZPCMkI3TQm/Us0lberH3GoR9BoMeX4yP5MqDHsF/G GWRSdIoGAlO3GS4gpFdzrp233Y4nDRU= X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R481e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018046059;MF=hsiangkao@linux.alibaba.com;NM=1;PH=DS;RN=7;SR=0;TI=SMTPD_---0Vd5I5eW_1677994236; Received: from e18g06460.et15sqa.tbsite.net(mailfrom:hsiangkao@linux.alibaba.com fp:SMTPD_---0Vd5I5eW_1677994236) by smtp.aliyun-inc.com; Sun, 05 Mar 2023 13:30:41 +0800 From: Gao Xiang To: Andrew Morton , linux-mm@kvack.org Cc: linux-kernel@vger.kernel.org, Gao Xiang , Mel Gorman , Michal Hocko , Vlastimil Babka Subject: [PATCH] mm/page_alloc: avoid high-order page allocation warn with __GFP_NOFAIL Date: Sun, 5 Mar 2023 13:30:35 +0800 Message-Id: <20230305053035.1911-1-hsiangkao@linux.alibaba.com> X-Mailer: git-send-email 2.24.4 MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: B9E991A0006 X-Stat-Signature: wqfe55y8b6scspd4k1z474r88716caye X-HE-Tag: 1677994245-96960 X-HE-Meta: U2FsdGVkX19BhWSKIklTXqNEZTVlYOfrqnVueQO7uZUcMotkYnLwJVCDM3PCfOE0XXOE8rk52e7IBvVlB5XdtyORMfvirCgKsg3Onk17VHYbiZ2ftRo3oiKyOGssCxnu2xVEuSTFZ8Ixh4IPGwiYs3BHoaZc4G0634MPB8Q89n2HyN1eCIR9CX7Ov2pfLDeAKp4TSioxIsL9JYsjMzhVyK62tSfdWaW87p4z18yeeVZWVQJMX58dInoOORC1R3J9O8jP8XI00In3FUsV8siIivEgw14p8R8cXy/K2pAEG8LJ5iPk5vCeO/GRT9dXXdvzpecRet9JkQPwbOtd+udgP7sU1SA4JNhcGhd+KiPYQ1+7TJt1AGpfd1MmH/wnK6W7y+OdQkeCXJJDnLMBqqjMaYWaNhQrhV833D7x74mVebLKQHsbNzhdSmFL8ynKdG9SZf9Bo6FlMsvaVO9F4TU6miYc8ESkpX1exJFsC9KcsfXWtDuDEZeuT+uARnrwovqCliIgqbfwgCD9V77+l1KNPlG5f0K4BMY5TmvFewhGGrGeAPxcCtQd9gmBhVZb11CsxIDARFWvtXcKzKK4azR9gr+HbeNeoCYxZmck0aTQ8OWwWc1ZOvzKKtVAi0fZY0F5987zWRVBh6OGhB/V3RKQsBXxRnll4//fEmFWPaerTxfonAWG40nJAz9qCNHyijxTDqrPGyFUWfRmTP0FrNEve2M54rLpXYUIJnjz1HSDpc9rBQcTCikG3RA3vUyT3IIPMp5+sSFuHbYQiNu+O/5no3h59ct9Lztm/A7TtC8v+RvucbDWcOKzRr3IMucUJXqLOnqoa4BaSbNzVjyHwT81ftXrXEwsE9JWSVdlv14W0WAs4S3+bXSjZz2b+AUzC9SG2pyMKHZiLN2I/OwBpyMy2MKRRJeFgbIvWzxVtRlC1r+NS53GwsmmTR6n10NIkrizoys+akEKriwj5AyDcOv hkJuMxfx q4Si4d0bnqI8K+sfcq5jQc+Aiw/iqXZCRspvxibBB/AKTAzDFNyBW45ILr54UCTA47ptduNkVnkE2UNKLqbzO4YXlW1rz8ravQDRF3DG8+osVE6sDexVr0j/ecQvL8XZaGFrRMXs0uurr0suppGIe9e2uTgyAzwqYSMIaixjgIb0eaGDZDdZdIkgtiXU4aQBe15anrlltimKtO0goxRxgBr3g9vod1w8B8cqGm2dan4GUzovnRiEn6u094+HRPcmlKZCYF97NYZ6cW4o1EgqyOX5Lfw== 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: My knowledge of this is somewhat limited, however, since vmalloc already supported __GFP_NOFAIL in commit 9376130c390a ("mm/vmalloc: add support for __GFP_NOFAIL"). __GFP_NOFAIL could trigger the following stack and allocate high-order pages when CONFIG_HAVE_ARCH_HUGE_VMALLOC is enabled: __alloc_pages+0x1cb/0x5b0 mm/page_alloc.c:5549 alloc_pages+0x1aa/0x270 mm/mempolicy.c:2286 vm_area_alloc_pages mm/vmalloc.c:2989 [inline] __vmalloc_area_node mm/vmalloc.c:3057 [inline] __vmalloc_node_range+0x978/0x13c0 mm/vmalloc.c:3227 kvmalloc_node+0x156/0x1a0 mm/util.c:606 kvmalloc include/linux/slab.h:737 [inline] kvmalloc_array include/linux/slab.h:755 [inline] kvcalloc include/linux/slab.h:760 [inline] (codebase: Linux 6.2-rc2) Don't warn such cases since high-order pages with __GFP_NOFAIL is somewhat legel. Cc: Mel Gorman Cc: Michal Hocko Cc: Vlastimil Babka Signed-off-by: Gao Xiang --- mm/page_alloc.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 0745aedebb37..0618716c49df 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -3822,12 +3822,6 @@ struct page *rmqueue(struct zone *preferred_zone, { struct page *page; - /* - * We most definitely don't want callers attempting to - * allocate greater than order-1 page units with __GFP_NOFAIL. - */ - WARN_ON_ONCE((gfp_flags & __GFP_NOFAIL) && (order > 1)); - if (likely(pcp_allowed_order(order))) { /* * MIGRATE_MOVABLE pcplist could have the pages on CMA area and