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 E191BCD11C2 for ; Thu, 11 Apr 2024 01:51:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 664356B00A5; Wed, 10 Apr 2024 21:51:46 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 616656B00A6; Wed, 10 Apr 2024 21:51:46 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 503806B00A7; Wed, 10 Apr 2024 21:51:46 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 316726B00A5 for ; Wed, 10 Apr 2024 21:51:46 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id F2CACA09BE for ; Thu, 11 Apr 2024 01:51:45 +0000 (UTC) X-FDA: 81995574570.19.2873CCF Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf15.hostedemail.com (Postfix) with ESMTP id C0A01A0003 for ; Thu, 11 Apr 2024 01:51:43 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=iAdiARS0; spf=none (imf15.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1712800304; 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=Nv4hQ0tCQL022v567Q0jV9azkyhgaaNwVsnsgitN2MU=; b=L32hVTXCd0rivpEj5Qe0HQV6BxNSVHEe6ibjU/FVFUMxtpvxV1s6WSMj05pg4H3VzF58wN y2T7ZJEHxt3oLM4q4zVsMatL5jd7WyI5eejLeYQdpRoID9fRxlAmU7pCEcNxu5fh0VKcES Vj2jucmqdL3jnLUjMPle0S9kED4c3TM= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1712800304; a=rsa-sha256; cv=none; b=8nf/J4uvVYxUddOzlxlgc00epkH0xjGcEY4WSqlh8m/F4Af+NYO6C7VXEj9Era2oKeoOa0 etvuoThncjryAXpkBeh5jQLIC4ez92fl3QxFe04Tkrf9Xnnscu1xXCQdkqqC+IXEng7XXn 9TaCrWS50Y65rdGDXSBoukkEBQXuMwQ= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=iAdiARS0; spf=none (imf15.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Transfer-Encoding: Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date: Sender:Reply-To:Content-ID:Content-Description; bh=Nv4hQ0tCQL022v567Q0jV9azkyhgaaNwVsnsgitN2MU=; b=iAdiARS0EJ01liEoWcCCC63NeG ihHCZICu4zdLVDT9TKI9wTJHxt7TmgrL07zzmJbbUrngKoALY509isVJQnDAZE5J9bEaSqYK6V4xJ zf0SAfQC84YnO2F71DxFglO0EQrSI183AAowPPnB/tSzUkCowFb+qjIZ68ZkHzduHAxtPUrjH1sQF QTuK/huDcVlZxiR1Z8nAGP5FTiGEcaDZomeARS6EN4X3ypKyNjwK0u3bdLrgLkTzxTKpYAzWuyQSR g6hDI6F5xPpVCcx2ncv57iOvWabLUCJ4hf+sXEgyI7/5ASkAoS2FULVjeUfm+ZUObAm4H3FPTKIJH TXT0LCTQ==; Received: from willy by casper.infradead.org with local (Exim 4.97.1 #2 (Red Hat Linux)) id 1rujbG-00000005m5L-05wV; Thu, 11 Apr 2024 01:51:38 +0000 Date: Thu, 11 Apr 2024 02:51:37 +0100 From: Matthew Wilcox To: Jane Chu Cc: Oscar Salvador , Miaohe Lin , linux-mm@kvack.org Subject: Re: [PATCH v2 07/11] mm/memory-failure: Convert memory_failure() to use a folio Message-ID: References: <20240408194232.118537-1-willy@infradead.org> <20240408194232.118537-8-willy@infradead.org> <2cc02f91-fbca-4160-9f31-bfb54f882f08@oracle.com> <1677b7a8-179d-4e4f-a7f3-5d6244586cdb@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1677b7a8-179d-4e4f-a7f3-5d6244586cdb@oracle.com> X-Rspamd-Queue-Id: C0A01A0003 X-Rspam-User: X-Stat-Signature: rnex1zznniuok9je4gycoy5mwqru3tx7 X-Rspamd-Server: rspam03 X-HE-Tag: 1712800303-493725 X-HE-Meta: U2FsdGVkX18WAheFsIYLwW5vUzBEXwy2hIeDD0yU4x42bIqkqgSUnRSSxYI1cOg7AnBy8UCBmX4AJrVzl9G6y/6M5BqnODZR6pXRJxhHOuO/Fi4OxKdEMWVzmmN7HSlXZMeJTXGE7R1Iungtng26wLaON2oBXI7UgO2BZywPD58YQ2KQQYf9aTGYS0bEQ6lM5uvrmGfEyKZnJk5BmTGKcbSAndtJTi+OnmwPCprXeC3mDz/sOL9CPY8jIg8fvKtQtHH+PwFqtu2fp6edBuI3dXGqDC7C4cxzffXrWE8oG2lYSG/ZZL8mwV2RVoQQNL5vmvZ2x5fnC5GiJKxJDegeWP5+3WAGBwouibRJ3J4hRFicw3Q681kPog0TtYgmU2v1103/4I5+BrDV5SRam2uDMj+Wdqo3M9bzRC8F/Yh+d3jWWRdxWFN/Q/M6vhgV9FZcQnnSTq3GTZ8WTyrNGpxtuhMAW1Ld+/KpWgRWl+fHQA/F529Ikov889hdI799Jocykn2UM3Jk2P/dg2n+61AEX5ii7pM+3gx1Ar6LGZbJsUQ3k23UwD+AKtP8qYP7bwYm8QlkD+x0yWc255awBrq0MIFzGC+HS5l0vuHxQiY5WUxbQKiTqXhtypSJYLTXgF046TJsj912MtIOHju4cT/HmlqsbnXw+1qzkXSqqIne4aaK7XB+g/ffSeUZH90Vu8D7X4Tirb7CTRSfLqH0raAh8e/4rbtZLOPN7B9a8q8MdayawcmaBqmW8GgNYa28+T1KKAohryCWVHe6H4sLZgz08W0T0XeQvI0qgtRRTfUL3ZEM1hIbopmXFBAA2lMiysK2d0638HfufLdUJcoWkwy9OPKrMxWVbV/dSgv60AJJazQB80l2o/BksbcWDPD2PPOODeO2jufxy32OJEguOxg+iuVkJ3HV9Tr7/rmqnO3u0rLl0ZnlFellmvJfep2cXsvAyITrXmZz1evNhH75//6 LUiI+1dp 0FZg/0LC0Q5lHlBiePljUbBhMUYSJl2LMVnX3+y9hNvsn0md2hh4hICqDGU9rZ6dNitkBg6tSp1WEj1nYTz25eh2q8ESMxpprq3PcbqfiM4Yanjy6hqoDbA/S9VUSM2lEqykHXrWdP6Wc8fFeH/U3cJhqDs2G2ZQf9T/m9N4qiXaucNj5qGuDpVcJ6d55Xp5JiVTxMpXnPaozEOM= 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 Wed, Apr 10, 2024 at 06:27:38PM -0700, Jane Chu wrote: > On 4/10/2024 4:15 PM, Jane Chu wrote: > > > On 4/10/2024 3:21 AM, Oscar Salvador wrote: > > > > > On Mon, Apr 08, 2024 at 05:34:29PM -0700, Jane Chu wrote: > > > > At this stage,  'p' is not expected to be a large page since a > > > > _refcount has > > > > been taken, right?  So is it reasonable to replace the "if > > > > (retry)" block > > > > with a VM_BUG_ON warning?  otherwise, if 'p' became part of a different > > > > large folio,  how to recover from here ? > > > We might have split the THP (if it was part of), but AFAICS > > > nothing stops the kernel to coallesce this page again into a new THP > > > via e.g: > > > madvise(MADV_HUGEPAGE) ? > > > > Good point, thanks! > > Come to think of it a bit more, maybe the check could be > >     if (folio_test_large(folio) || (folio != page_folio(p))) { > > ? Because, 'p' could have become part of a THP after shake_folio() and > before folio_lock(), right? What is the mechanism for reassembling a large folio? I don't see that code anywhere.