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 9A685C54E64 for ; Mon, 25 Mar 2024 15:15:04 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1A6AC6B008C; Mon, 25 Mar 2024 11:15:04 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 156CD6B0096; Mon, 25 Mar 2024 11:15:04 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 044FF6B0098; Mon, 25 Mar 2024 11:15:04 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id E99586B008C for ; Mon, 25 Mar 2024 11:15:03 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 82F72A0CF2 for ; Mon, 25 Mar 2024 15:15:03 +0000 (UTC) X-FDA: 81935909286.19.58982C5 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf29.hostedemail.com (Postfix) with ESMTP id 07BA512001F for ; Mon, 25 Mar 2024 15:14:59 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=NvX4VBZ0; dmarc=none; spf=none (imf29.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1711379700; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Om85TCcoJeQvCZYriAuMGZf1yJ4VYxjs7YhoYxnNuVE=; b=6fcF0iEMkudyeNOgEq9GT1GU5JUdeVkPpCSAcMFYDQH7kmWbL+kVixUgCaE6FrjTz1V589 0N/nPG8BIZGFllV/pzC3933QNBrK60CWLRgPmUVJeq93XH2xDIU0P2W+SpGa8P1GSHTZJO J91/Qxt7fz9zjrElinyPPJZ0gXc5U5I= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=NvX4VBZ0; dmarc=none; spf=none (imf29.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1711379700; a=rsa-sha256; cv=none; b=AG73EcSw4xXGAj1bwyuRirwAKqG5+W59DpmqPqd2vTL089py/tx8HnhOmUJVJYGwne5m1s sGIn5+ZYSSbYycHPJVj+y/UVd5E8FgNvA63GQ1a5KaEjaV0GCA+tLN8PgBBmJKFUymA+6L 56cwcMoC0xBjBm2u03dVcP0jxgC5CcI= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=Om85TCcoJeQvCZYriAuMGZf1yJ4VYxjs7YhoYxnNuVE=; b=NvX4VBZ0CF8wZwyU3ZkwRZkaYM LM7WA7ard0Yse85f1ce6Ya2EpULQKzhVpob5L0ncJojwTHwqw5vgx4OU2GJlhHikJDecCGU+shyIA mJjBz8Z1m7Ue/Uecd1kmHb0DISRmw10I1aC5/52kV5b7/TApVGcLih02uHFbkBmNNOVXcieW1z1xj sDahIW1XKWcZX+9aKgWX35kf86Z8TlGFcXz/nHTJ2CMiSCWgqt0n8F6UksYnB+RCMiXBcyoVkKwB7 7PEjegwim7n/Af5NOTMjAHwM7Cgu+qDgN/xuMBiZwmYhHKj3RbN9GqEJWg/I/C7TNgk4H87F9NWwq UcTcSUiQ==; Received: from willy by casper.infradead.org with local (Exim 4.97.1 #2 (Red Hat Linux)) id 1rom2H-0000000Gk2V-3b0w; Mon, 25 Mar 2024 15:14:53 +0000 Date: Mon, 25 Mar 2024 15:14:53 +0000 From: Matthew Wilcox To: Andrew Morton Cc: linux-mm@kvack.org, David Hildenbrand , Vlastimil Babka , Miaohe Lin , Muchun Song , Oscar Salvador Subject: Re: [PATCH 5/9] mm: Turn folio_test_hugetlb into a PageType Message-ID: References: <20240321142448.1645400-1-willy@infradead.org> <20240321142448.1645400-6-willy@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240321142448.1645400-6-willy@infradead.org> X-Rspam-User: X-Stat-Signature: dkq57uy9gbgftjrf3t657kmx9xxu3g1m X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 07BA512001F X-HE-Tag: 1711379699-143431 X-HE-Meta: U2FsdGVkX1+Fb/wv0PpARumlKAYNF3JYotL86V9/Id9INIoqebjZ8SHTcjf0/z3JarB4VPQVN7j+4VDGWYJEFjMGFYx/FNzLpjBs8e6T3Ne+0wVwajeH13X3pJN5bTW80LcA/y5a3DM6NF/fidj4jrBRw9wCUnlgOxjH1LeN00FkpF7vbQQvhEtRAmuPTjHVdtU/yGwfJ+z2c1DOzx+nXXxtVyP4/T5PyF1THxyIMeI6MnX2fpY2D3bTPJe/zVnl+Bcs2ftUIJvNh0z7EU318CGoTo5k5b3jm6p6VZZXDG6akSbN5X0eP7tPlWccPrhEZ735GQ03WgEKwJ/EYSUhlHgnGjTDeu2rTyGc2TWnQUwQtmMPM0WZMHehUkrSX/AOo1zq8e6fy4n2h81LkX7cAWVPxI/Eya7pjeCWb2tD1CHatpZ2kYX9JSPcD6n693t6wUYMjmjkQ+2D9H/ZglZmRyoThSxS4FX3FSOKUxfuvMluduZWJLC6BLf41DzKUUr+9OXQ9BhfwY18tMp1SlVI/M07rTjVzo2R3ez5Fjscph3+czWk6Aa5C+baZ/4fAOrjZLuN/RKrff6+4nRDQMFgsoDUxwbSXUzs0FQyQfQ1YyliPEPZ5I96ACdcFfoiFqa6NCwBiMFUrj0xMht0zQVTiY7oR95DqaW22mNi2IWTEYfnp1cO8xaqSo4fyNPkU+cLbdnkWpGm0ueokyqAA9ZfZfpusP9iPKeO8eXxR/ZdAd9l3QhqO/HXN56Biq5QrH7//RgcR+/f4GYLbAVWXhakRI0Kciz0An3/ur6gIRrpBjv7kjX33pIZRuUzKQRKj+Iitw/Ky4ew5qN/rkkDahplfiL8+W7s1L3B6uFhXBhz2jCLbE+PgCyNhbt/yh0yB63Pvy8SBl44AHiERv/Vazj5rK+v/3/dGfj4OFFIZdGnPPpQhD5FLfVBP/xD9+gr61l40v9oUN2vZy13ErAdsuQ O84v1NiB NsRa4czmIK/T6J3t2IbJYyrtr5kFYEn86XZX4OJV2Gc3/eV5nsC554AHwLlBSXGpGU0+aHOjGsfAzrNnK737mkPrevMR3VZywSpD60Uk46OJHyftn1f51Xu2p+lcaYd9F/dGqN36Yy04emK4goG0XLH8bwop9Ro7M/oHOZYno3hvZFU2NUDsbT4rU/w== 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 Thu, Mar 21, 2024 at 02:24:43PM +0000, Matthew Wilcox (Oracle) wrote: > The current folio_test_hugetlb() can be fooled by a concurrent folio split > into returning true for a folio which has never belonged to hugetlbfs. > This can't happen if the caller holds a refcount on it, but we have a > few places (memory-failure, compaction, procfs) which do not and should > not take a speculative reference. > > Since hugetlb pages do not use individual page mapcounts (they are always > fully mapped and use the entire_mapcount field to record the number > of mappings), the PageType field is available now that page_mapcount() > ignores the value in this field. Update vmcoreinfo: diff --git a/kernel/vmcore_info.c b/kernel/vmcore_info.c index f95516cd45bb..41372f5d5c19 100644 --- a/kernel/vmcore_info.c +++ b/kernel/vmcore_info.c @@ -205,11 +205,10 @@ static int __init crash_save_vmcoreinfo_init(void) VMCOREINFO_NUMBER(PG_head_mask); #define PAGE_BUDDY_MAPCOUNT_VALUE (~PG_buddy) VMCOREINFO_NUMBER(PAGE_BUDDY_MAPCOUNT_VALUE); -#ifdef CONFIG_HUGETLB_PAGE - VMCOREINFO_NUMBER(PG_hugetlb); +#define PAGE_HUGETLB_MAPCOUNT_VALUE( (~PG_hugetlb) + VMCOREINFO_NUMBER(PAGE_HUGETLB_MAPCOUNT_VALUE); #define PAGE_OFFLINE_MAPCOUNT_VALUE (~PG_offline) VMCOREINFO_NUMBER(PAGE_OFFLINE_MAPCOUNT_VALUE); -#endif #ifdef CONFIG_KALLSYMS VMCOREINFO_SYMBOL(kallsyms_names);