From patchwork Thu Feb 20 05:20:19 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Byungchul Park X-Patchwork-Id: 13983335 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 44918C021B1 for ; Thu, 20 Feb 2025 05:21:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6D91028013C; Thu, 20 Feb 2025 00:20:49 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 6126B2800FF; Thu, 20 Feb 2025 00:20:49 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 35EDB2800FF; Thu, 20 Feb 2025 00:20:49 -0500 (EST) 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 E4FE52802A5 for ; Thu, 20 Feb 2025 00:20:48 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 68F671C6A53 for ; Thu, 20 Feb 2025 05:20:48 +0000 (UTC) X-FDA: 83139173376.24.76EBCEA Received: from invmail4.hynix.com (exvmail4.hynix.com [166.125.252.92]) by imf11.hostedemail.com (Postfix) with ESMTP id 8553140015 for ; Thu, 20 Feb 2025 05:20:46 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=none; spf=pass (imf11.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=1740028846; 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=ak+zjQsMqCP09rv/UE+8oNX25Q2cRqMkqJx9nTZ+WlE=; b=dg87N9T2DBsGNJj0hf7uZhb0ff0e7BdMN2+I+GmPAj5cl4uAuQxstB8zdIOG2TNGILZlqn cv3D3hpwZo4+I1rZPIn5ABTldPRle/CjugvsL+uc+dvQI9pbm5EYf7PcsI2tyw+GN9y8qs Bfmt/8ZY0pducSDW/qP7WDO5CtvVb6U= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=none; spf=pass (imf11.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=1740028846; a=rsa-sha256; cv=none; b=Fq1cmRbMNX6uWGg2j7Ukqp1u4mp6LRmkSFObVP/W5tPORsiibQo92efdWjQo/LIl3/fFNc 55sBWllJ2HIpafq4GyVo1kBR71rri3XF56eHYDLRvY+Z2jLfkLlJhhpIUyNKhXGR9+uBoS gwwBEK1oVmmamTdSMHFhSFxxXjEkNNQ= X-AuditID: a67dfc5b-3c9ff7000001d7ae-08-67b6bba767e5 From: Byungchul Park To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: kernel_team@skhynix.com, akpm@linux-foundation.org, ying.huang@intel.com, 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, dave.hansen@linux.intel.com, rjgolo@gmail.com Subject: [RFC PATCH v12 18/26] mm/page_alloc: retry 3 times to take pcp pages on luf check failure Date: Thu, 20 Feb 2025 14:20:19 +0900 Message-Id: <20250220052027.58847-19-byungchul@sk.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20250220052027.58847-1-byungchul@sk.com> References: <20250220052027.58847-1-byungchul@sk.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrMLMWRmVeSWpSXmKPExsXC9ZZnke7y3dvSDVpesVnMWb+GzeLzhn9s Fi82tDNafF3/i9ni6ac+FovLu+awWdxb85/V4vyutawWO5buY7K4dGABk8Xx3gNMFvPvfWaz 2LxpKrPF8SlTGS1+/wAqPjlrMouDgMf31j4Wj52z7rJ7LNhU6rF5hZbH4j0vmTw2repk89j0 aRK7x7tz59g9Tsz4zeIx72Sgx/t9V9k8tv6y82iceo3N4/MmuQC+KC6blNSczLLUIn27BK6M XV9+MhU84ao4/HITcwPjFo4uRg4OCQETiS13hGDM010uXYycHGwC6hI3bvxkBrFFBMwkDrb+ YQexmQXuMkkc6GcDsYUFkiROz3vPCmKzCKhK/H3ezAgyhheofntzGEhYQkBeYvWGA2BjOIHC P2b0grUKCZhKvFtwiamLkQuo5jObxKSnS1kgGiQlDq64wTKBkXcBI8MqRqHMvLLcxMwcE72M yrzMCr3k/NxNjMCgX1b7J3oH46cLwYcYBTgYlXh4Z7RuSxdiTSwrrsw9xCjBwawkwttWvyVd iDclsbIqtSg/vqg0J7X4EKM0B4uSOK/Rt/IUIYH0xJLU7NTUgtQimCwTB6dUA+PSYMcWnQkq 7Eafp5ns4pp3XCGXu9bNfsrEWeuPl4YzZ9k4K92Iv+lY9+hlytktKwxude141fXmy+2qJIFv 69zWvJ0a8ff0S4sPt+skprOLHdzm43bid3Db+hs2a/5qpu3geLvm7iPxdae2svjqPnaY1XFi WdZfma1VBjdWzvvBrmO4cNPuj18SlViKMxINtZiLihMB+JLdZ3YCAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrNLMWRmVeSWpSXmKPExsXC5WfdrLts97Z0g6lTrC3mrF/DZvF5wz82 ixcb2hktvq7/xWzx9FMfi8XhuSdZLS7vmsNmcW/Nf1aL87vWslrsWLqPyeLSgQVMFsd7DzBZ zL/3mc1i86apzBbHp0xltPj9A6j45KzJLA6CHt9b+1g8ds66y+6xYFOpx+YVWh6L97xk8ti0 qpPNY9OnSewe786dY/c4MeM3i8e8k4Ee7/ddZfNY/OIDk8fWX3YejVOvsXl83iQXwB/FZZOS mpNZllqkb5fAlbHry0+mgidcFYdfbmJuYNzC0cXIwSEhYCJxusuli5GTg01AXeLGjZ/MILaI gJnEwdY/7CA2s8BdJokD/WwgtrBAksTpee9ZQWwWAVWJv8+bGUHG8ALVb28OAwlLCMhLrN5w AGwMJ1D4x4xesFYhAVOJdwsuMU1g5FrAyLCKUSQzryw3MTPHVK84O6MyL7NCLzk/dxMjMIiX 1f6ZuIPxy2X3Q4wCHIxKPLwPHm9NF2JNLCuuzD3EKMHBrCTC21a/JV2INyWxsiq1KD++qDQn tfgQozQHi5I4r1d4aoKQQHpiSWp2ampBahFMlomDU6qBMTvRs3+fScG/3O+HxW8ZCC/efUyM /ZMf/63QKu5Io7NbK9s1ii00Lu30ktBIKT43yfWpspkrS8+nnFspUZH+mv2f/ZZsn3WbcdHu nrVrtUV/mrbsPtWb96pmXlXEjdXG7TMdUn1SUua6aX8q8wpMORdo4daxhWOHEqP83cTvtUci tG+bTK5TYinOSDTUYi4qTgQA9wFB2l4CAAA= X-CFilter-Loop: Reflected X-Rspamd-Queue-Id: 8553140015 X-Stat-Signature: ysce59yzxfhosy7uu5xsox7t75uu6uei X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1740028846-562732 X-HE-Meta: U2FsdGVkX1+KzFML8jZsQ4A+8+9npHvJGfp5tIGojV/uM6wdd7ebiLCf3brtRlU+z0zAPF7jdAZ0jPSWEbVn/QyhpXb7hTgrb6/0Jc8bPDY3DXVJ1YZd2ta9rBbV2kRrEjb214W++KanO+c30DyFqf5kMklzoOM6vDH+rvu6RPWSi1f56tTo7PeZIfR6lM51wBrNxjZkp8ZZMxI/VB2uH+lwLgz3vFW+kW0LImSg4rEANxbSrgFxSceRuu+hijETPDyVoYkHmE/JnO+9EdkvUcKPQEFQUJezA6g9XWtGBGwcpxUHSKVVlQHhamGiejgAnQmQrXACNakQzLH0Xt3LNtlr6AS4iDMfA5OWFOgCdQOSrRrt5LlQMFVLXMT5Fh6G6DxPNi72cNLi93SrlxBH5vHQCEuwMrSPUPxzPtJHhgqXkrvLpbnnwez7UrpfTqrFXoOIrPJHKj+oJO/SDi+WcvvDbjYKtHXsWRAvELRi9UjDwuDhL1Ztj4ysAa/qRNMG/mdBQPDbUW6APeGrZzyZnu/X/FonEDEuYUfnedj6QXbGxpD1DRLMW3j+UQHo8xITDtKZuhnLv2uIpASZ0lzuFHAiGyTynoeULn7qY0IstVoYSVcd8KmGDFiGcscfzNewlqQVyL91viqRIXU9lNV+TQX+80nmuC584I2rzR9LmxFYcyzIdSpy0sjSmm3CreyBhNJUlX9nvfUyGh0t++iIze0H9ts2NQ1eqUaDV8LTg0Q2x0cdSkTr5Mn2tHXpsqvJmRd3b30kz9PMlHtZ1T+rpNUoZEXk0ef3rhSKYu+MhNB5Aj1aOovaEb2M48pd9EDSjNfEDgvp27dluA/ZOdQvZQmeQzMYNb0tYC7XAMexH4NKeICY37/9fVaN5rOWdrYIJJJCFcstZEq2yWPt1DSAp76vmxl/Wk1OPTksBmMXA1qSxfYevUKEIbbV4X26fIgeJ6IZaoxuXUPkSyuAoT6 j2vA94UR 953cD1psFyrbbj362mRQyLKnGTtujFz3UwKRB 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 3032fedd8392b..0b6e7f235c4a1 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -3339,6 +3339,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); @@ -3353,11 +3359,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;