From patchwork Wed Feb 26 12:01:25 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Byungchul Park X-Patchwork-Id: 13992186 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 68F8DC021BF for ; Wed, 26 Feb 2025 12:02:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 689D3280029; Wed, 26 Feb 2025 07:01:55 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 63979280028; Wed, 26 Feb 2025 07:01:55 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3353F28002C; Wed, 26 Feb 2025 07:01:55 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 0146D280028 for ; Wed, 26 Feb 2025 07:01:54 -0500 (EST) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id B39DF1C9DDC for ; Wed, 26 Feb 2025 12:01:54 +0000 (UTC) X-FDA: 83161956948.04.3C8DDCF Received: from invmail4.hynix.com (exvmail4.skhynix.com [166.125.252.92]) by imf12.hostedemail.com (Postfix) with ESMTP id C4A944004F for ; Wed, 26 Feb 2025 12:01:51 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=none; spf=pass (imf12.hostedemail.com: domain of byungchul@sk.com designates 166.125.252.92 as permitted sender) smtp.mailfrom=byungchul@sk.com; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740571312; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:in-reply-to: references:references; bh=FeXd4p0Ju1xaEhEL2I+RWpo4YNkrBjnBrmDajR22eZk=; b=UWIu9telKyPdDl/ns/e3jEmWC6YzO3/ytooiDWCIkaiUpHMXbooHSlG9WIs8z1ZBCW6/EQ nBidbjIRTx5ffWOfYIWiUh0fLAcbd4OzZcApacPpQQPzrg+UptEDxnzrR4Yl8r8jGF/oWh NOVwjcMxTVAzQvFt3TDXG9yV/yIGuok= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=none; spf=pass (imf12.hostedemail.com: domain of byungchul@sk.com designates 166.125.252.92 as permitted sender) smtp.mailfrom=byungchul@sk.com; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740571312; a=rsa-sha256; cv=none; b=OcmQwEHWQJwMifgT4kW+EG/xHClhRSvL6PPxVKywkjZeEA3FfHM/0y2dZY89j7DTBnqBXZ Lu4ZymRCFtDXFKv4Mvctu7cb60wba9TNOJHANAgADvKAtY8UZGpGwSlYPM2GO5n7BNdEKi YEP0srvXd1ZSm+jkiJy6BIywRwxWMiM= X-AuditID: a67dfc5b-3e1ff7000001d7ae-1c-67bf02a76aa4 From: Byungchul Park To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: kernel_team@skhynix.com, akpm@linux-foundation.org, vernhao@tencent.com, mgorman@techsingularity.net, hughd@google.com, willy@infradead.org, david@redhat.com, peterz@infradead.org, luto@kernel.org, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, rjgolo@gmail.com Subject: [RFC PATCH v12 based on mm-unstable as of Feb 21, 2025 18/25] mm/page_alloc: retry 3 times to take pcp pages on luf check failure Date: Wed, 26 Feb 2025 21:01:25 +0900 Message-Id: <20250226120132.28469-18-byungchul@sk.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20250226120132.28469-1-byungchul@sk.com> References: <20250226113342.GB1935@system.software.com> <20250226120132.28469-1-byungchul@sk.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrKLMWRmVeSWpSXmKPExsXC9ZZnke5ypv3pBvv3i1vMWb+GzeLzhn9s Fl/X/2K2ePqpj8Xi8q45bBb31vxntTi/ay2rxY6l+5gsLh1YwGRxvPcAk8X8e5/ZLDZvmsps cXzKVEaL3z/msDnweXxv7WPx2DnrLrvHgk2lHptXaHlsWtXJ5rHp0yR2j3fnzrF7nJjxm8Xj /b6rbB5bf9l5NE69xubxeZNcAE8Ul01Kak5mWWqRvl0CV8bZ3rssBU+4Kp6/X87UwLiFo4uR k0NCwESicfJhRhj7zs9NzCA2m4C6xI0bP8FsEQEziYOtf9i7GLk4mAWWMUnsPdHABuIIC3Qz Sqw8eRWsm0VAVWLVzTMsIDYvUMe8yxugpspLrN5wAGwSJ1D83+7f7CC2kECyRMv63ywggyQE 7rNJXPv5hx2iQVLi4IobLBMYeRcwMqxiFMrMK8tNzMwx0cuozMus0EvOz93ECAzsZbV/oncw froQfIhRgINRiYf3wZm96UKsiWXFlbmHGCU4mJVEeDkz96QL8aYkVlalFuXHF5XmpBYfYpTm YFES5zX6Vp4iJJCeWJKanZpakFoEk2Xi4JRqYEy9XC2RuCf75rKaENFqN5WOFG/FH3yBS17G nauTnP1tpa6BtvoFp8tRWzpnKGyXfFXk/CRld3dy4QJzt09Mq1t4VsavyF9SG26xZfUUjvt6 ipsXlOx5H+i0Nzdyj1JiWP6F29PnX9H7p9nBs2ZH0E7xCgmLr+wZwkzLhL5HnLJb9HrfgumP jJVYijMSDbWYi4oTAdW9NNZoAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrDLMWRmVeSWpSXmKPExsXC5WfdrLucaX+6wb7D/BZz1q9hs/i84R+b xdf1v5gtnn7qY7E4PPckq8XlXXPYLO6t+c9qcX7XWlaLHUv3MVlcOrCAyeJ47wEmi/n3PrNZ bN40ldni+JSpjBa/f8xhc+D3+N7ax+Kxc9Zddo8Fm0o9Nq/Q8ti0qpPNY9OnSewe786dY/c4 MeM3i8f7fVfZPBa/+MDksfWXnUfj1GtsHp83yQXwRnHZpKTmZJalFunbJXBlnO29y1LwhKvi +fvlTA2MWzi6GDk5JARMJO783MQMYrMJqEvcuPETzBYRMJM42PqHvYuRi4NZYBmTxN4TDWwg jrBAN6PEypNXGUGqWARUJVbdPMMCYvMCdcy7vIERYqq8xOoNB8AmcQLF/+3+zQ5iCwkkS7Ss /80ygZFrASPDKkaRzLyy3MTMHFO94uyMyrzMCr3k/NxNjMAwXVb7Z+IOxi+X3Q8xCnAwKvHw PjizN12INbGsuDL3EKMEB7OSCC9n5p50Id6UxMqq1KL8+KLSnNTiQ4zSHCxK4rxe4akJQgLp iSWp2ampBalFMFkmDk6pBsZNn6cJfFqT4Hfudpj5eeWtZ2L3aCSp/91h7q/LNVHMQXCj/Cq+ k7pnZ15vzDY67HRut9eumDsFZ41lVghGnnRbkTxzq2r83rIz2qtWPto7YbK8NqPb1J6kX5eL Xss6Oq8tZ9Db8zTB9d/s3z9u1eV5vNGIPneL5dXz2gRXwZdXROafbdgVdf2yEktxRqKhFnNR cSIA/NkYRU8CAAA= X-CFilter-Loop: Reflected X-Rspamd-Queue-Id: C4A944004F X-Stat-Signature: f1hjxn4yogiyb449raybcxterebcoqx9 X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1740571311-76084 X-HE-Meta: U2FsdGVkX1+P59qFXX4FoFyFCkkiQJHW4XvyHFBDHvDKEomc5B3V0TkYpHL1H04AMq35jMzi6OOm8HMiNWkIv3GfktFi1m9UHpagoPxmomeFf/vB/n5zHV2IdhY2BiT3fwuXuwptqe9zvIwU0OIc/YkXDd1jNduQSEnxAuOr6YPVAifAnof95iA0NYaim1PhScLfxufXMtlLI+QOTMQ/xvs/dCJKvT5ustMYjlzR929rlBBH33utCNbDVOYS8YUSZt1w9F3eR4C7POWz6T+PzB1fv+dzIYs0MswxGAoP52YlebOqXFqp1Fqu7d6mEirp68+3gXc6yvlc6/lIZFgI1FlE9UMNsjEYNS7RKPzqoHvsTJReRcTf1oLYwbUS//jpNM1KygIxddF7uTYEa8gv5H11k4TcURjTKr5CjfTWq1vH0mcoW2fB0PxZazUTzzs/lNqByhnFwn4yoUgme/Hxd4oXvEqLQgG9DJ23aghaZCfeYICX1G9Znj+yDd48yKq4SAh+Gmwakxw/HhhGTZRT350g2hPCyUdOOXP9ZFJtooU5UH0/1Tfee6cpvwcfvlvNb+wpcelzSR3a42b6DaIDTZ6pQFx3FtKGDXsuViajo7c/QuP2LzZjuQdwrWMfShyn9Dt873GDUNCxB2+Kb2lna3ytTuwj7qMeBGuc+9o5CjJBtYZf/3KhUYg+BbAVhfJCfho9yM0aE/pzLR779YoIBjP0QJbifMYHS4rBNfIDgbznld+DLKtvCZdGiaCHgmaPC7F7Fzw2QtBJSWeUHgXHBDmO4OdbYjprdYDNwiI5e1c66Wi7tV3nz7f4rR03ofvBkaCteFKeRL9X9ijEs1zS1IlYVDLjetVQXw2rUi99fY6M98rbHr31PyECy2/FB3DMtQHiE5fXX4NHxuKFCC1fovei1ykW8SaEdoBhfildwJgC61CuYCWd6hPDx8gV15U4OXN1ZSNADTk9CE8uO6u aQWkMxgJ ZHFCbFYjxwBaOrLwf+YB7drbO9TnjbwnNuL48bP1TVMNYGjInay6MOV7Wjr73hDdgxn0y 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: Signed-off-by: Byungchul Park --- mm/page_alloc.c | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 7b023b34d53da..f35ae2550019f 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -3384,6 +3384,12 @@ struct page *__rmqueue_pcplist(struct zone *zone, unsigned int order, { struct page *page; + /* + * give up taking page from pcp if it fails to take pcp page + * 3 times due to the tlb shootdownable issue. + */ + int try_luf_pages = 3; + do { if (list_empty(list)) { int batch = nr_pcp_alloc(pcp, zone, order); @@ -3398,11 +3404,21 @@ struct page *__rmqueue_pcplist(struct zone *zone, unsigned int order, return NULL; } - page = list_first_entry(list, struct page, pcp_list); - if (!luf_takeoff_check_and_fold(page)) + list_for_each_entry(page, list, pcp_list) { + if (luf_takeoff_check_and_fold(page)) { + list_del(&page->pcp_list); + pcp->count -= 1 << order; + break; + } + if (!--try_luf_pages) + return NULL; + } + + /* + * If all the pages in the list fails... + */ + if (list_entry_is_head(page, list, pcp_list)) return NULL; - list_del(&page->pcp_list); - pcp->count -= 1 << order; } while (check_new_pages(page, order)); return page;