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 9892CC83000 for ; Mon, 30 Jun 2025 07:47:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E1DC26B008A; Mon, 30 Jun 2025 03:47:06 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DF5396B0092; Mon, 30 Jun 2025 03:47:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D32466B0099; Mon, 30 Jun 2025 03:47:06 -0400 (EDT) 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 C3B1F6B008A for ; Mon, 30 Jun 2025 03:47:06 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 4E307803F3 for ; Mon, 30 Jun 2025 07:47:06 +0000 (UTC) X-FDA: 83611286052.05.415F5FE Received: from out30-130.freemail.mail.aliyun.com (out30-130.freemail.mail.aliyun.com [115.124.30.130]) by imf07.hostedemail.com (Postfix) with ESMTP id 34D6140006 for ; Mon, 30 Jun 2025 07:47:02 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b=DpOayMB0; dmarc=pass (policy=none) header.from=linux.alibaba.com; spf=pass (imf07.hostedemail.com: domain of baolin.wang@linux.alibaba.com designates 115.124.30.130 as permitted sender) smtp.mailfrom=baolin.wang@linux.alibaba.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1751269624; 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:dkim-signature; bh=rbt1gK5kRXCfoZvLCAkq87hyiuzyzzrWQC5AuFDUDjI=; b=E6AYR3ccFhoV2k1ifH5t2KFXSzjM4TKFdmhvpGGdH4cFPq4G+Lnr37v0bG0MJato6M0mAf nW4YRZZFLQ66zBgdyF6wQQFKQGelZ+USzpflY77tj2UMPIJao+Uk0ABGXbc70+uoT2xI9F QvBM2mc9vdYAoxzQZe6aS0uYyb6P50I= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751269624; a=rsa-sha256; cv=none; b=lALEp32nYiLpAmJ8YA1IOsTLuqdp2lh+7w072IzaKeGP+BoV1Ib8gWaYc12FKb1cJnbkrI Fz04PVymAzloBVDiYJ/Br3B2vBqmBOnJ0FhNlT0sQglV6koeYBNo0vpGYRDt2Mq+1NrJm5 qGEokij547zgqtqhAyy+99YoZjTvXNY= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b=DpOayMB0; dmarc=pass (policy=none) header.from=linux.alibaba.com; spf=pass (imf07.hostedemail.com: domain of baolin.wang@linux.alibaba.com designates 115.124.30.130 as permitted sender) smtp.mailfrom=baolin.wang@linux.alibaba.com DKIM-Signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.alibaba.com; s=default; t=1751269620; h=Message-ID:Date:MIME-Version:Subject:To:From:Content-Type; bh=rbt1gK5kRXCfoZvLCAkq87hyiuzyzzrWQC5AuFDUDjI=; b=DpOayMB0D+cBY/f2QpbxuuP51FmT1eueNvzfaFCrQXGvHGw+0s54aAm/7qsOJnz9BkTCVsKyC/1nzlej3BhrcdsdpyLABJ/7J+/9DHyRaZ/ftXF5Ga5e9VSE0s8jO0tPRv9wpjtYnLkwaEoBubu2wjQs8bmqg9ZFI6bmFFtsDQA= Received: from 30.74.144.137(mailfrom:baolin.wang@linux.alibaba.com fp:SMTPD_---0Wg7iJty_1751269618 cluster:ay36) by smtp.aliyun-inc.com; Mon, 30 Jun 2025 15:46:58 +0800 Message-ID: <5e5b726c-b14b-45fa-b444-0e2aa5c84de1@linux.alibaba.com> Date: Mon, 30 Jun 2025 15:46:57 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] khugepaged: Reduce race probability between migration and khugepaged To: Dev Jain , akpm@linux-foundation.org, david@redhat.com Cc: ziy@nvidia.com, lorenzo.stoakes@oracle.com, Liam.Howlett@oracle.com, npache@redhat.com, ryan.roberts@arm.com, baohua@kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20250630044837.4675-1-dev.jain@arm.com> From: Baolin Wang In-Reply-To: <20250630044837.4675-1-dev.jain@arm.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Stat-Signature: dzj6g3srr8tdtc4oxwdg1e6uediya6gy X-Rspamd-Queue-Id: 34D6140006 X-Rspam-User: X-Rspamd-Server: rspam07 X-HE-Tag: 1751269622-959227 X-HE-Meta: U2FsdGVkX1/33keEHkXWJWZcivhgxBLsOFgyiYLOF79d6k4ufYfCAp8mU5VhLQv5V5ssPHaLufxmiWSuyWRPLXID4GtiMyG6MWH+Om9t4Q9Rvby111afWDPX0d7j7DGRWeGL0KTrTYUZcCNBYqkaUMkTVzh6y+LHNTbmjJ3tUyFrBGX7pIzzFUwnJHFdDgG8NvWOauuBZz03X8iADf3eGmr5n7stYejBRYWvEMaUwGhcU79Jp6x0/xeQNW/rbwlqTgPnALZtbQDYbCy9inyCXDJERI4qdv49NBQqpnJr6Ax+cDjrEfT5X/d2pmV/MraLvZ7rSa7ZD9FPGpr7XCT5UtBe89OADRkF2mlnv+bmY6t9uNl7tpEdrDNR0Om3gqh9U302gmTZNu6V3Ds4+2QTcroNBxSeErD3pAFI2HYovOeXxjsBSAd1zFdowNKcufs5HG43uQYvMjAwCUWzZaRGyZ/qc2Czgn3hnA/R/e7oy6cF6PoMdU2BRm65EWLhZI3tvLlbS2Dggttyo78ngYVmrqN75x66+kNaNlsxYvf44P4Q9u03MNVVWswnA04jkrweoxuc0TOQiXxt4hPU1TCGopME3YTQCQe3NAvJRSlp0Rp3OThrTdweIRTbegp4CYU+bxA2xim9AiCeThGwTLySbN6bXeILNlEq9Fnmt78LtVF2lCz56mM+A/AMzSAp6kQVz9HdQU+1VBa/6psZVYSYs4SwybVNi6h6dsWQlsv5F82mvHj9V67zJn7Vx2vyiLJFYXOhcRgxNuI0y6oTBulj3De1TH5b4+n02vxHmXggyxeSR9k2O1hBVUKskwLmnABs8mEJrgIErQkmaCel2g6F7YNVoYbbuF2BwOtq7b4ZawXCsJ08yGzFbTryckdJxxQDDhEJ4qOqe7ubRvQ/PIOG2OSvCRCyjCHOiJ4QQ1w9waT6z3E7MJP0XlH9IBaPJtIjrtR2HL+zznEZJ1mqnZX I+HbGHy/ Taretmfgq+YeRCtDMqAA+8W+XtQ8gK6xaK60bEBm2FOl4twN/saAYMixxKJwePP3conTlo/Fb9npZ53flM5LyOihnPugpJhqGMTluk6aF3TLuw4IOPexlLgCV6fWxiXKG+Ko5k69R85bV/0/B54vc7h4l98yUfSpWWKtoRyC9+hEmGhbAfQZDSX/ONia77TeAK/GH6fmW5apHO/oPvKAuEfc/MQDKi6izPYSzN71vzsJXq8dvpzwjJgwiW0QjX9Arre0rSwqIDGTVhceN+J2opg7X/xysMDaoxGk9jJS+7lr/gFibVxP/qIERhQ7OuKpUYxVDo8kVQGxeRsPrlpRK6h0lLZvp3yM8/z5jdyWyPAlUJt5TPPJ/n6lA+A== 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: On 2025/6/30 12:48, Dev Jain wrote: > Suppose a folio is under migration, and khugepaged is also trying to > collapse it. collapse_pte_mapped_thp() will retrieve the folio from the > page cache via filemap_lock_folio(), thus taking a reference on the folio > and sleeping on the folio lock, since the lock is held by the migration > path. Migration will then fail in > __folio_migrate_mapping -> folio_ref_freeze. Reduce the probability of > such a race happening (leading to migration failure) by bailing out > if we detect a PMD is marked with a migration entry. > > This fixes the migration-shared-anon-thp testcase failure on Apple M3. > > Note that, this is not a "fix" since it only reduces the chance of > interference of khugepaged with migration, wherein both the kernel > functionalities are deemed "best-effort". > > Signed-off-by: Dev Jain > --- Looks reasonable to me. Reviewed-by: Baolin Wang