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 0950BC54E58 for ; Mon, 25 Mar 2024 18:48:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 597216B008A; Mon, 25 Mar 2024 14:48:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 520596B0093; Mon, 25 Mar 2024 14:48:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3C0226B0095; Mon, 25 Mar 2024 14:48:21 -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 26FA66B008A for ; Mon, 25 Mar 2024 14:48:21 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id DDB9980165 for ; Mon, 25 Mar 2024 18:48:20 +0000 (UTC) X-FDA: 81936446760.29.EC28240 Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf14.hostedemail.com (Postfix) with ESMTP id 934C1100007 for ; Mon, 25 Mar 2024 18:48:18 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=XN2N4Bal; dmarc=none; spf=pass (imf14.hostedemail.com: domain of akpm@linux-foundation.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1711392499; 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=mMyQsfbSFM7PIW/u3jnWSo+GXLSa7s6GTRmmLFMOJTg=; b=uhhK3ukw1opV/HBG7vEwn4oiW6+LD9XhW1+QERcsa0rTbGQANF0OdCsss4fkYOefCb2IHE y4WYsE29l8hfxQ5603ieo80tbOmIbrLHfd3kFVEm1/jOe6hYh2n1IL2UNwIVXxzp+Ylt9p flaQMv6Nem5EWp5gdqiG8oLSMujrPdE= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=XN2N4Bal; dmarc=none; spf=pass (imf14.hostedemail.com: domain of akpm@linux-foundation.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1711392499; a=rsa-sha256; cv=none; b=10jW5zWieJ6BHJehqEk3yRs8A8WWgISC2gLo05IqroqA0cBpzaDGaMMt7m8bf2MOql2vrp rLD9G4Mk392+/5wegBgBL4Wor/9NubDrwS0SJFvos6EmaFzbstpTaOK0mQCspAUPj8SDIo dN+5J8yoDvaMKWdU2PbOC493KbL9xyU= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id 04C49CE1C82; Mon, 25 Mar 2024 18:48:15 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id D2D11C433F1; Mon, 25 Mar 2024 18:48:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1711392494; bh=v0DxEq7VxJ7QEn7a8fXyvU0uhPO/yFRN30vLKUlB0II=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=XN2N4BalGOtOdotzOUhfQeeRUBrVs8qMZVCdH8E/rSrkR2XATQFdh9jyhyeDPifJl VooWcBx2TwYJ6zjOXV/CDqcl0Qm/bd9XejS9WNtEwBfFPDHb31G1klaf1pq3U7cG6W RGUsvd0p98noGgd/zB3ro1mg8+/ZLso8MfKIS244= Date: Mon, 25 Mar 2024 11:48:13 -0700 From: Andrew Morton To: Vlastimil Babka Cc: "Matthew Wilcox (Oracle)" , Luis Chamberlain , linux-mm@kvack.org, David Hildenbrand , Miaohe Lin , Muchun Song , Oscar Salvador Subject: Re: [PATCH 5/9] mm: Turn folio_test_hugetlb into a PageType Message-Id: <20240325114813.38108944f75bb005141c1299@linux-foundation.org> In-Reply-To: <7ee2bb8c-441a-418b-ba3a-d305f69d31c8@suse.cz> References: <20240321142448.1645400-1-willy@infradead.org> <20240321142448.1645400-6-willy@infradead.org> <7ee2bb8c-441a-418b-ba3a-d305f69d31c8@suse.cz> X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 934C1100007 X-Stat-Signature: 5od3ewh8sixns4xfwerfea34a64qc5eh X-Rspam-User: X-HE-Tag: 1711392498-903614 X-HE-Meta: U2FsdGVkX1+lLUyiIla/NzoHag8TwUFj1JDEwT4yB4iuYAX3FXSjcwQVMyydXSH7xGo4AMGRpdvfPYm/K3O17g2/uNShC+vDOGNIEmrom+0a4KcGCDWnSJpZH6GAqI6xPWeJkB4FvYB0q0fpI0wifo1iU+7P9Jc5w/DGmwaK3P6wDH7nNjYx2Ic2i6WEw1/CDXsjIWo7gq9LuPRZ6QquXBPLf4NOijjZORUj9h7XMrVkND2Be30HBOXzaH39SkacrgYT2vGMQ2jhuaAuqrHtbmeqWccoKW3818YF/rBX7rT1xoAzyK8jnoqrN9l8xRVGipkf8h7z3YNbdgJqVbVQkIWlwMk0GwTwO2TMloLHRWsVzBxdTnxAkwRHnwkDeiUdUmlKu8oIVPifM3TBSWVbKjA2+lCJNAZCBFTW8CF9XWq81m7FU70iqf3WtXV596B5T4X/wZI6nlfxm0ruzHX6PPJypUQKwj9eTKPlEDuPqzH+mMJ+Mpxkg9jwBGd861KZARlwDwjNFsTfwirEGSwHHt5hP11nCSYTG2dOfrxcIfzsCtfxAeN8xE2I0tjxSwv6cTgwxsIBI4fHzZgf+ECz+dKI5M/GA87VDj5RfI791u4A5A9zjHvzOi2lTIQHMw7oq02joUXiFYQOlAV2aQUZI2WQt9l+haTEepB/VFBRINeOTr1EImGsLxR3SUAsE2gq/4Bkrm4JZmNTqlNMtOEK09ihiXmW+1A3wZAZTt7+RAeivJBlUt6GgorMjmhuDBaX93okrz6JLE9y2f+b5/cEI2pQCM0YRL+JE62aQnRTMaP79Anre92Lggj/T/KAWxSdrml//MNJzDRdGdlUi4du3dQOyqlY8ih35ep7WdxqRsrd7dkqcf3K+7uT/ethdYb3JH5iyXTxxXjpqq5OLFV9SuG4MMGiDFPm6ch7as9TJoYkW543CqduXhL3LKbmbA6kFaV2FIZ/l+SIzipep3w zkZhTpcK 9ZHTAjStUlo6x3t6cIO4z96Cqlt2b9eikaF4LY6bhVgvmuZyfxrYK1vm34orRy4CfpiNrMoFLD1/krCZvREOmODRhh6/Qi5SobynO16UMFt6ECdLg/a12iOaD0JJR4snA7TxmUixDCD8NbXnSZLQp4Cf802coZL3g9h8ZKPoTB6RfkD4yDzqy5t+JvuPeZWBEuLynGHlaUsJ4sfzITpDSLpyAwA8gmJJVAIRkBroOGgMRzoVH/TJbL79U4FIQWYuwMONcZwrxTVJH33/hBF4p7BkGbHPONOHXYcGdxTASiU/Xv33d7L0ef1h0x1+zYvy61M8h9teFYxXr3AUw4pPJGDE8DFz+jynsT0R+7CL58deL8NtuSM5nqOUKxw== 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 Mon, 25 Mar 2024 08:57:52 +0100 Vlastimil Babka wrote: > On 3/21/24 15:24, 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. > > In compaction and with CONFIG_DEBUG_VM enabled, the current implementation > can result in an oops, as reported by Luis. This happens since 9c5ccf2db04b > ("mm: remove HUGETLB_PAGE_DTOR") effectively added some VM_BUG_ON() checks > in the PageHuge() testing path. > > > 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. > > Reported-by: Luis Chamberlain > Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218227 > Fixes: 9c5ccf2db04b ("mm: remove HUGETLB_PAGE_DTOR") > Cc: Thanks. The patch doesn't work as a standalone thing. In file included from ./include/linux/mmzone.h:23, from ./include/linux/gfp.h:7, from ./include/linux/slab.h:16, from ./include/linux/crypto.h:17, from arch/x86/kernel/asm-offsets.c:9: ./include/linux/page-flags.h:1021:1: error: return type defaults to 'int' [-Werror=implicit-int] 1021 | FOLIO_TYPE_OPS(hugetlb, hugetlb) | ^~~~~~~~~~~~~~ ./include/linux/page-flags.h:1021:1: error: function declaration isn't a prototype [-Werror=strict-prototypes] ./include/linux/page-flags.h: In function 'FOLIO_TYPE_OPS': ./include/linux/page-flags.h:1035:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token Matthew, could you please redo this patch (and its vmcore fix) and send as a standalone -stable patch? It could be that the "Various significant MM patches" will need a redo afterwards.