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 6D0FFC36017 for ; Tue, 1 Apr 2025 17:56:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C7DB1280004; Tue, 1 Apr 2025 13:56:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C2BAC280001; Tue, 1 Apr 2025 13:56:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AF49A280004; Tue, 1 Apr 2025 13:56:05 -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 90287280001 for ; Tue, 1 Apr 2025 13:56:05 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 74321B7C8A for ; Tue, 1 Apr 2025 17:56:06 +0000 (UTC) X-FDA: 83286228732.06.148E814 Received: from mail-pj1-f52.google.com (mail-pj1-f52.google.com [209.85.216.52]) by imf07.hostedemail.com (Postfix) with ESMTP id 9EA524000A for ; Tue, 1 Apr 2025 17:56:04 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="UO/5Q4gP"; spf=pass (imf07.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.216.52 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1743530164; 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=VGSHngqKdQ6JAAV9PdN+ZqX5Z98Ode3U7b6CpgYXwAs=; b=YmC/Kijh6HI+4APohTv6FgFaQ39U7U1BlKC2onweN6tta7ULWtNfb3/dBNdHz/GJlFUtcp 8/uCilqr2646pNo5sglc6rGN5ocPWNIlX5zG4qqNpi2I3LaC9e4HL0GbmvF06ZkSEwjD+3 oa3wFMIF4NaOighTj1BhUEXz6jEkaxY= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="UO/5Q4gP"; spf=pass (imf07.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.216.52 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1743530164; a=rsa-sha256; cv=none; b=fJM2vm1rE/kc7OumMMwiVnTNAaaGRS00XdYE/cwO95Ao/sG4O3JhhM0PnKj95nqcHHk/VB QRgzBaipz2h8NZiFnyQFDv7p6x0K9f8+62TKRMN14bIbma4UPHaD3hmuxLM9OfKDfFB0Nd REs0O5S7TYvt/KbKcOlkErCEEF76KLw= Received: by mail-pj1-f52.google.com with SMTP id 98e67ed59e1d1-3014cb646ecso7432852a91.1 for ; Tue, 01 Apr 2025 10:56:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1743530163; x=1744134963; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=VGSHngqKdQ6JAAV9PdN+ZqX5Z98Ode3U7b6CpgYXwAs=; b=UO/5Q4gPBjpzG+nOZSeM634mE/NkObC3C9lMmgemgfW8GEpzvKleuK7YbgScHTnivx jfwQkos/H1xA+ymhSXdGDvTZs2OBjvJ/h8X2PgLnWdeSX7ptR4+MGxzrha2n7cZQe5dw 05OavAffM0XYLjW5mJqQ7Bd95PyqE8qTzJ7bF3hIdaXpwcLVlp+NUK3ysdcV3ARIyL1d LhMbW0uVAyMmmrlzUW7lS68h/idDPZ4SjySE7klDCzlCaxqFyrKHEYAeTrdWVRDe0flH W/QdiJWZ8TOsNaHH4Ro8TsTKJspCmCKzi1uqZ4ASBOyUrD2yH4wm6mSxAIQIss3sJumj AROA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743530163; x=1744134963; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=VGSHngqKdQ6JAAV9PdN+ZqX5Z98Ode3U7b6CpgYXwAs=; b=oBxQTdYNrmivph0QJlLFButyF0kBop2Ph+M1LJTnkldVOruydVW+Jt9/JTpVxi723H JMBKHHklgJVSXkLHquJLGegHtaHamvMjPoj1VRLHTEyrNCGdCBwOSqpgPv77g4Pr1R7A HgrEQ1e532TRLOWOrMkb6/r7z/3A7xlwOf+p+bP8jA/9iYGmTW+KHykrL0Hviu0ZDBPa jOscrj7wF3flPjqvud3+M0mAuC8dgFjpquN00SeLt4pTb8bQnjDjpJhld2biMu4ek/gK PFFdEZyJ3h+lR95AJKuO0id3GNrKU7TdBSrW0dfKmAlixhatJJJZVUex8CnxpUorSe4+ M6sQ== X-Gm-Message-State: AOJu0YyrdKIyKyp0GzTCZNNwosCGhyRE1UT1MSmUYDN3aQyxsmSJzVcc uofo00AexmdK4ymuK5OOWSNSqHt/vxR/MmAABBNXxk26PXUHQpYy X-Gm-Gg: ASbGncu1nD+1r7qkXGZTErAbvYRbkEMoJtfXC8aXsXF+MsdOLvNCOcxMsLcdMm9zmA9 cRu+4sJz1tJ4TZqWgRpo/88XYv24PcNDOLAKRqZGRo+gxAplwOLeBzsGm6HMP9mVUXo7nibXNf/ hxOqdOPJ8t0jdxB/mnjjnfKm/0a8GaRefV6iOco2mKENfHTmLr7B7Q4cJkowFp6JIt06beomyxZ IPKpLAzY5akUwVk6OkfOIaSs1qlC1IBcX/HRC5ub0bCL1vj7MQUCrmeH5dZww/oOFucM1oLdCtE F8SXitkraaaOqUqEmYHbAs2OJD65Mb4xTd/DVczh5pA/+Z9/eeSl7ENK74WUCzY7jtkQByZ6GPc 7 X-Google-Smtp-Source: AGHT+IFzxtb6Up8TviTRMN1Nyki5B4XWY7+F8iD6e9OmgHWH22s1bsVdwRo8/VpoHce14lVmZji6DQ== X-Received: by 2002:a17:90b:4d0a:b0:2ee:f440:53ed with SMTP id 98e67ed59e1d1-3053215d85amr18235332a91.31.1743530163398; Tue, 01 Apr 2025 10:56:03 -0700 (PDT) Received: from fedora (c-67-164-59-41.hsd1.ca.comcast.net. [67.164.59.41]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3039f6b2ebbsm11914226a91.41.2025.04.01.10.56.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Apr 2025 10:56:02 -0700 (PDT) Date: Tue, 1 Apr 2025 10:55:59 -0700 From: "Vishal Moola (Oracle)" To: Oscar Salvador Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, akpm@linux-foundation.org, muchun.song@linux.dev, Miaohe Lin Subject: Re: [PATCH] mm/compaction: Fix bug in hugetlb handling pathway Message-ID: References: <20250401021025.637333-1-vishal.moola@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: 9EA524000A X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: sakzwdezou9ohagbor67zmehc7x8zuz9 X-HE-Tag: 1743530164-17095 X-HE-Meta: U2FsdGVkX1/Lb2JQWG9dHUNPbRfaeUvSDa6TQh2+X+q2cc2NcedzBOLnz+rAIBST0hu6UEl93YZQlkodqywAgupLPrVXUY7n/GHVG77X9LaHr5CSxEoNS5Aje2Bx3Yg2GAr5yHFXIB2h1RSn7jg2SzZlZXSN9Vqop5mgL/7+1uiOUqOJ37Ac1De5Tt17v756HKB9uQ6QPvSU7spH6EzSLUKe49Hnfcj3XWLz5cQjQ5+kftxfiYdF+1kWVZXGvbZfHCTriYtWMo096YuGQgoqTcIv8B4JcMIEdm4bUr3akp62RYeJhvgR5AVAi0nSotJnPF7aQ1oIuTzgFBCMm1fvheQ3UAiMj2+Bx+AjZL14XizDuJqYfL9ELbIlZgPDBzUSRzfLNCZNjeJ/WrQ84b443Wo9sQzcAKaVbOXcLSvzNpqa3tc8z9ByV/rIVgzGYVpVMzDzYt7AaZLNpyoAamT9jwMb1c0c/q6UA7j8LUfqH5/AAIX0yej2GtDgKaJkxBIkkrvNPex9+TeD+4dvi95LnG4qwUpTmAUADHfC+mT0BmEkz6k9giYjln/zIxEUTSHZXpch90TyJhwWwiDR6mUF9E35v4C1ZAGTxuOVZEo1J+fvXlmaFlbvb7g8v2J6sz19riFrfAj+UlO1YtmrVEOCPoXHIsW2J4swVsZMYGAeMS4VNLUeU4jjd8kY1JW0f292gJ85IRGD9Zn5Y6TP8qm3VzPn6zo+XDsWqib0EYmMsaTe5HzDWAh3vgn7GuGABLRcvkWjkkWMpJVS+yVSfcC0nKwGy2YjPHWkxexMA5Q4HSyNsbZzww4oeNENEh91NrY6VHa7qCcvE+pHnxQAP57WdCaRZr+kkpmNXHnVCjfdWqrdvXG6UsZgHMx6EEFWuonZy1j9C1t6rp7m1e8OKF9f3SBBGsqUXnCdMEyLc4QIOM8bg8tlzPLMiVyPjJ3k4FHn7pqRucPN56+BXmC1iAh dTQXGEzD opNAeQSB/PFflTMYNcQfpFAMwggwFc5uwhrVg67n95CBbod4bT/h5tEKyVLOHSw806oxfVm+nyssSSVEwpS9YrfJVgQHo5PTwnUbDprtXU75FssaIqxQjMwtPA4r8QwCWvfpb0AIHEH8nQF6mf2h4IfLxLMgvCeYwEWxYQDRFuVvIirw9IUh6g2C6YMeGwl80xkXz4HQeqWOShlOkXvbiqDUvF5KVXrGR+H3iGtOuy8COgN08/9ptJUU+zgGoX1vbOhnXmSQiIia32idOkscXpU4W/Ay1zERkMnXJtVQI/A+oAxpUaHtdTQFdnQblu3hMB25z/0kIu4VJ1cAEFqVsCspUgPmpvMOjI8xiW9FQ6LxoqHqpB9v6iyhDeFfwaY59LH2D9jr+Pc1hISLhsE3hYFuG/m5sWn3ixGF4gSu6e6DbtlpS+SRdkfz35PIKzTUKwcvRfVmEU0l8njW367U/e3Q9mQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.016709, 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 Tue, Apr 01, 2025 at 04:59:46PM +0200, Oscar Salvador wrote: > On Mon, Mar 31, 2025 at 07:10:24PM -0700, Vishal Moola (Oracle) wrote: > > The compaction code doesn't take references on pages until we're certain > > we should attempt to handle it. > > > > In the hugetlb case, isolate_or_dissolve_huge_page() may return -EBUSY > > without taking a reference to the folio associated with our pfn. If our > > folio's refcount drops to 0, compound_nr() becomes unpredictable, making > > low_pfn and nr_scanned unreliable. > > The user-visible effect is minimal - this should rarely happen (if ever). > > So, with compound_order() we either return the real order of the > compound page or '0', right? Yup. There's a world in which that folio could be freed and reallocated as part of another large order page as well (where it would return the order of that folio). > > Fix this by storing the folio statistics earlier on the stack (just like > > the THP and Buddy cases). > > > > Also revert commit 66fe1cf7f581 ("mm: compaction: use helper compound_nr > > in isolate_migratepages_block") > > to make backporting easier. > > > > Fixes: 369fa227c219 ("mm: make alloc_contig_range handle free hugetlb pages") > > Cc: Miaohe Lin > > Cc: Oscar Salvador > > Signed-off-by: Vishal Moola (Oracle) > > Acked-by: Oscar Salvador > > > -- > Oscar Salvador > SUSE Labs