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 2D53EC02198 for ; Mon, 10 Feb 2025 08:19:04 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7595A6B007B; Mon, 10 Feb 2025 03:19:03 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 709646B0083; Mon, 10 Feb 2025 03:19:03 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5DA866B0085; Mon, 10 Feb 2025 03:19:03 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 3A6706B007B for ; Mon, 10 Feb 2025 03:19:03 -0500 (EST) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 4C9E347CF0 for ; Mon, 10 Feb 2025 08:19:02 +0000 (UTC) X-FDA: 83103334524.06.FD1A314 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) by imf06.hostedemail.com (Postfix) with ESMTP id 450DF180007 for ; Mon, 10 Feb 2025 08:18:59 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=Gufd24LD; spf=pass (imf06.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.214.170 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1739175539; 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=mlSIxA3x+/euQkQ5cMVnr4CskFs/HEnUsf/M1/H81gc=; b=dbMqld3Mw3N43ic6sHCzNUa7HEF9gCHinMANLSr9g3Ye5LWcP4f7kt5IksMgzInwQNyg6b MAvBkGt3HxI58s3lNTzF1CDXcpuKSw31HVno/972GU9sfYUU0G0NKxwVVbnHLqhf69NRNH 6MviKxJAkXFLZjshfyK9JQQDeln2uwI= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=Gufd24LD; spf=pass (imf06.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.214.170 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1739175539; a=rsa-sha256; cv=none; b=iJwdSHDtrMyBtxmnPvk4E8yXOIjo69WpC3EL7zrtZrW7v1EKBE0Q7c0ZjUqm/tvFjc68gA 0vh7M9jXOAbEd9otvvtu0AigsvUS/XcR+JwMzdYOf+dJWXHDsElBqMEGarrTCvCRhnRGgw s3Y4pRU2tnKdL8iEzfRRsTV0JNfk4i8= Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-21c2f1b610dso100032605ad.0 for ; Mon, 10 Feb 2025 00:18:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1739175538; x=1739780338; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=mlSIxA3x+/euQkQ5cMVnr4CskFs/HEnUsf/M1/H81gc=; b=Gufd24LD+ZBA2gz8vIAr+C28Pxt9gGoSFrrUeNf9aNHEZHVseuMkP9oIx8QeR91RdK sVfH/mKqm1gYZAx3KhTuiTZUVwxqWxREqYLlTtxO5gSsFy3Jf1fWnU2/1xIgVuCsMsfv O3m9/hI8TWSpCUyd7p6lWkFJU4J5CXw/VXX7ztc6V5Ziu3ThjgyNG/riyZnOxbFpCN1w myku71+oQzUcS4i9cLfWX6yFXjV1dDmOblR3LuH4fWgQ0zjbrXqDj8l9BPkbyXeXu25f DNs27PDgqLlWsr1C3IJWGTZsuDR+mSKA6pjq2i5p+gEHNY0FdJeSzdka3y5is+6Ono5i H9hw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739175538; x=1739780338; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=mlSIxA3x+/euQkQ5cMVnr4CskFs/HEnUsf/M1/H81gc=; b=m5M9sdHFAVpMhYow0nAeoBxbf1oqaMov8oksg4cfDNM8+m/NVe9Y98bToCwceI8XXB KIpByqqAZ/7fPVA5/om/ZLUW73HXZbWShBHFOGVDbJ/FtCuw99sUPoHSTz3V1hHTVYVa usWGiOv+GAeVPQL1mX8fMwbVYS7KKZ4xkR/RTfCg8c0jlOcVI+Pg1hUFin/ZmBz7BXJY Hwjn0boBbqrO3xujlHX7vP8fobchewk0QUKB4c0jb12guC+dCEjSgU4NRnI4hehoSdCK Y3gcTAFr3/+bTehEdgRpqtOJfSaP1bdhUciMgBF2X2LC2qdN+himK1apjxXD13ua4l4u A1iA== X-Forwarded-Encrypted: i=1; AJvYcCVGy9LbwAhkDGOeR5C0Aqgh8IJn1jsxscjJQqP67sMDvFdCFzK52UOsiLPLKz5reLHqXfKOMu3gCw==@kvack.org X-Gm-Message-State: AOJu0YxzMbKxl4cHxHv/SBr0LIRlsIV0gMs2YYACPXW4kAtNsMQpXJ4R rLXuvN7hNshfwEPbWbbVyxP0CHIXtWYo89wNJZ6XaKi44IlIjRAmHUN9qNRv96I= X-Gm-Gg: ASbGncvkoocyyDs68kdiSpzBo4ICziIHPzB0FapB9kQU8RuWm6zpiyCFOvvzTEaJ/y0 +tn9Ap6VG+qBoMlfYq5EdJWaBxGAcstWavhbGq70DqyuSxQIAfSf+SvsUVNltRX4gyVAJcoFzNC zSjojKLyFm3FTwDu4wDPAPHz5wN6UJ4IBw3fuf39oK+cA2a8LE7fd7RP8mDli46BuAg478QNGzM OUSYsk2zRS/gXFULqGDfuCmAgbpDt+uV4OMtx9pMJDorB7f/WMSXSWKaobw3MKwBMO+D/nbK0+4 rb1hTB6MI7H8EIoriEgllrUNAXZAN3rYdOpG9zCEEw== X-Google-Smtp-Source: AGHT+IFaNzeBUa5ZixxrEObq3W7T+7+9t1pZmG28SJnli2MJ7RMleh58aXR8J2XSsJ2EMGhM3ttALw== X-Received: by 2002:a17:902:db0b:b0:21b:bc95:e8d4 with SMTP id d9443c01a7336-21f4e7989e1mr257615955ad.35.1739175537911; Mon, 10 Feb 2025 00:18:57 -0800 (PST) Received: from [10.84.150.121] ([203.208.167.149]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21f74ff1d45sm33072575ad.227.2025.02.10.00.18.53 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 10 Feb 2025 00:18:57 -0800 (PST) Message-ID: Date: Mon, 10 Feb 2025 16:18:51 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: xfs/folio splat with v6.14-rc1 Content-Language: en-US To: Zi Yan , Matthew Wilcox , Christian Brauner , David Hildenbrand , Jann Horn , Qu Wenruo Cc: "Darrick J . Wong" , Dave Chinner , linux-mm@kvack.org, linux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org References: <20250207-anbot-bankfilialen-acce9d79a2c7@brauner> <20250207-handel-unbehagen-fce1c4c0dd2a@brauner> <2766D04E-5A04-4BF6-A2A3-5683A3054973@nvidia.com> <8c71f41e-3733-4100-ab55-1176998ced29@bytedance.com> From: Qi Zheng In-Reply-To: <8c71f41e-3733-4100-ab55-1176998ced29@bytedance.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 450DF180007 X-Stat-Signature: 9oakn7pd1uzgaq113p5ix9fpeamzcs5w X-Rspam-User: X-HE-Tag: 1739175539-396521 X-HE-Meta: U2FsdGVkX18icOe4qd4axqW02rSI9XCmgPA0hx+3yUuNXRGQcOXDyH79l14IYr6/DYkyCM64XFdPTla4X08iy+UZZGL4L9Kk+blPELu9I9gLYsqpPfrCJFMK1EsjNs3h33iRHd2yxggxqZmyNMjWgGdaRPKaQtGtQERdkJsVgYch20Aj9dmJ9FGq2gftjBpp5AhDH3wah5WxAhZSRxTIXcWdbCy3X+DgirkbqYzLmUsJRUKl3gaAOF1TeLz2RK6f4Ib0lm4w415giQwlJVdgq99v/qycywzHew6sNA7DyGRwthkvTOVXZ6X2wwp3ocB5pH5ugYe75MqbulVG6IooxxA9uu+1UW3sF8f8HDtOKkdP/ILdbag86Kn4DZdlksYFDTh1zL6TLR5zHMF1N05gREjP28KGlTwaTwz1Y4KN2sKrA2jhEa+y/gy/DRe5iGLeaYsswaXXJDj4R889Bqq2SLNY6thBadCR0hPPvKZAvJRU0cB+thiyVaH03GY60gePj6OEqi1DOpkSnOMPg221XC8vCrxmV0MP9jqtt3GJ/QdmYsayWOZmUK3A60ZKQ/kHbw0rpssnZFMZiQij5SfsTHTWMdrj+qI8tMryqiaQCWdwFaj/E//16m4sqZFhV0XDcSInYqe29i7KtYLM1JaD4GENyY1L6t6enmUsM/3dOkzRM1OIm8penArybf1LwNNQVYLOftGiu23b102DQrsjp/OOvIUR0hgW28TfBWfKWdzw6dnKfq3MEFTlvnzsQDHTXnJe4XQkAwB2iBrIeBbYpErCK6oI6jnXIxcMJCDFq+stwc5qNvcCebuIm8MyoMOUWj/yXVNeRY/ZeVW2SOxoktRs7CAKLndHQ08I5oeaAO3YbXAtePFVnm345YLjc3P6UnymmWqvj4vnSI5vicKZaqeQBCRah5pnriDgPpby7bQaxL//38Qrz3Ej2NnCbBUpzwiGZ3dOyJUvSb8aH9K uD6WNWkI NT6pzzzGLLqPPGYdpoYhse/lFvQJPUKGWG+f3aETxmEVo75X8ZiF1JpPdz03WGjwNvMG8cpYph6v31rIhx/svTjZ7fFKmrmnMQA5LNvAn1nKf8IvX1oTJTIk6KTzZaS0hMwX56ozQuWImearg7MaT5y0iqtgMlBH8eCEHHe//BnQ87R6+RaJ0vNM9oDN3wA5udbj4dmFE0M1YLmQrldRi7UM9fTx5j1kFu7VOswMzqS+IcVV/NKxktR/xrNriXlYJvMcTrXQ/0NGkHtZwD9igZ4uuVpnkErcSbusmAzQsG0vtg06Hd4DCwxnHWClV14Ob0LufjlB+vJJH4WhcvFE2u//2IA== 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: Hi all, On 2025/2/10 12:02, Qi Zheng wrote: > Hi Zi, > > On 2025/2/10 11:35, Zi Yan wrote: >> On 7 Feb 2025, at 17:17, Matthew Wilcox wrote: >> >>> On Fri, Feb 07, 2025 at 04:29:36PM +0100, Christian Brauner wrote: >>>> while true; do ./xfs.run.sh "generic/437"; done >>>> >>>> allows me to reproduce this fairly quickly. >>> >>> on holiday, back monday >> >> git bisect points to commit >> 4817f70c25b6 ("x86: select ARCH_SUPPORTS_PT_RECLAIM if X86_64"). >> Qi is cc'd. >> >> After deselect PT_RECLAIM on v6.14-rc1, the issue is gone. >> At least, no splat after running for more than 300s, >> whereas the splat is usually triggered after ~20s with >> PT_RECLAIM set. > > The PT_RECLAIM mainly made the following two changes: > > 1) try to reclaim page table pages during madvise(MADV_DONTNEED) > 2) Unconditionally select MMU_GATHER_RCU_TABLE_FREE > > Will ./xfs.run.sh "generic/437" perform the madvise(MADV_DONTNEED)? > > Anyway, I will try to reproduce it locally and troubleshoot it. I reproduced it locally and it was indeed caused by PT_RECLAIM. The root cause is that the pte lock may be released midway in zap_pte_range() and then retried. In this case, the originally none pte entry may be refilled with physical pages. So we should recheck all pte entries in this case: diff --git a/mm/memory.c b/mm/memory.c index a8196ae72e9ae..ca1b133a288b5 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -1721,7 +1721,7 @@ static unsigned long zap_pte_range(struct mmu_gather *tlb, pmd_t pmdval; unsigned long start = addr; bool can_reclaim_pt = reclaim_pt_is_enabled(start, end, details); - bool direct_reclaim = false; + bool direct_reclaim = true; int nr; retry: @@ -1736,8 +1736,10 @@ static unsigned long zap_pte_range(struct mmu_gather *tlb, do { bool any_skipped = false; - if (need_resched()) + if (need_resched()) { + direct_reclaim = false; break; + } nr = do_zap_pte_range(tlb, vma, pte, addr, end, details, rss, &force_flush, &force_break, &any_skipped); @@ -1745,11 +1747,12 @@ static unsigned long zap_pte_range(struct mmu_gather *tlb, can_reclaim_pt = false; if (unlikely(force_break)) { addr += nr * PAGE_SIZE; + direct_reclaim = false; break; } } while (pte += nr, addr += PAGE_SIZE * nr, addr != end); - if (can_reclaim_pt && addr == end) + if (can_reclaim_pt && direct_reclaim && addr == end) direct_reclaim = try_get_and_clear_pmd(mm, pmd, &pmdval); add_mm_rss_vec(mm, rss); I tested the above code and no bugs were reported for a while. Does it work for you? Thanks, Qi > > Thanks! > >> >> -- >> Best Regards, >> Yan, Zi