From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from flow-a4-smtp.messagingengine.com (flow-a4-smtp.messagingengine.com [103.168.172.139]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 45DFC3E6386 for ; Thu, 27 Aug 2026 14:33:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=103.168.172.139 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787841214; cv=none; b=XikOMP2uKARv3AcEF0X5tPTEjFYGSzP/MlSX7CsUMo8L4W9hcs5sUkC4JoQ9gl4Llr6an2amiXxQui5Ep4N8JxtDZF53s2dWZoxSjAJPJ27S6Fbu0Fkh38/IUpsh96jkdtE3EntoxoiGoYNtWxrOcJg1+wL7jFgMdr/9/j/Wa94= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787841214; c=relaxed/simple; bh=DWFGOUy3f4TOMDO+GwemUzp6lCbKmN55pIIJmZTCXrA=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=UhTQTbGIRs0ShqCDFldyyuxTAzXEQNykYAFjq8STffuJEL6hBU1pjXcak1kmrN6Ae9SdasJO8AYTTeU5c4t16T9N66zX810k1Wm3Xc6X4hbInC8v7H1PZDS8TGAAFuvWKCuMroSJKbgHXX4C6X+oqZEj38lfB9kWWBpaVh6rPIM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=shutemov.name; spf=pass smtp.mailfrom=shutemov.name; dkim=pass (2048-bit key) header.d=shutemov.name header.i=@shutemov.name header.b=P6HOkD4c; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=YMTw8S+r; arc=none smtp.client-ip=103.168.172.139 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=shutemov.name Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=shutemov.name Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=shutemov.name header.i=@shutemov.name header.b="P6HOkD4c"; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="YMTw8S+r" Received: from phl-compute-06.internal (phl-compute-06.internal [10.202.2.46]) by mailflow.phl.internal (Postfix) with ESMTP id 1980013801E4; Thu, 27 Aug 2026 10:33:31 -0400 (EDT) Received: from phl-frontend-04 ([10.202.2.163]) by phl-compute-06.internal (MEProxy); Thu, 27 Aug 2026 10:33:31 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=shutemov.name; h=cc:cc:content-type:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to; s=fm2; t=1787841211; x= 1787848411; bh=Ln/cYU6R6kxXbvIePHIUyNjbzJC0uJlvXR+XQ3FbfZM=; b=P 6HOkD4c8lkSWtklz5AyfvXJ7Edo4Gcv5bsmBLyImsWdrC2VmfETzZcILTibLnWmy HlaARwr76l8oyfS26SRdZKGrnWzbS+M/G8JrVSuW70Cof5qpLOzqgdR00Nv6RFs1 UEi4MW95w3ca7TjDsI/GEx4NfOv+peayyZvo3u6GFPlg+YYBas9n6phB0kpMpi6P 6S8QxD9dLtzVrZNH+4Q2tdlox1N62lvqRxGdvxlDttCmrSE58GBBeamlF5KEJ1Az wnD17xvlWd0jdcUEhLgigUuKFMS/Y1MKNsPIcPxhKEp7pnwmN39KMLWgwCVfoVOA F3LFGJy6+mgwxW8cP1KhA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t= 1787841211; x=1787848411; bh=Ln/cYU6R6kxXbvIePHIUyNjbzJC0uJlvXR+ XQ3FbfZM=; b=YMTw8S+rmSG6bfUflT6pvk6RtchcWGVsTZRRSZ6gAMxjESCi6Su OsEnf+FjOmcEVxQNqFjQjXD/pfVw6PvcqErRysrKQVq60sWD/HsvUy9xoz+4xZJg lKOqcalaM6JjVmsWtmUsguUjqYyhF0UNXnaizrGbzGBUH67L3OuJDELmfFu3FrBm N30Bh5rTErFqH1AsNgQwP79M1Be594Izc6y5/hedmx8C5YS0jNpulTngEtRANiJe 0wA1dO0q2BBiq+T/RxUXDbDk4YzF9CnptmBbptvUdPvSEKYxnkLdLffyvx/u6NtF +2Cle9q7IFThxrOfZ73qUFyBoX3+Ccp8oOA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: dmFkZTFX95w7oz8NPPCgwgK0v6r1e5zrRtNU9uoQ4ywzPNzXkyMIhPlNvTdMRpJ6fx+94i pKd/HphuAZxxtsecVEssSbcYsWdECuVzgdv+juA9XC39CNmblKiHnup7SDLLALy6H1/DUi i1Kq1aWXsxz5+GTeyQyGUo6yk/OFIkBURo4AtdrDvo3/ipHRIMtgGcsHlBYLPs85UZUFKU 6TYq1b3nBvnEFDcz0iEdfGT7czFRsH3Nlaxj3LGfSPwhBvbGugH7ZwQ5DHHUjqp10QPyUM DEWYjS4Qf253nIKsPMVTJ6hP/T+5YXScE5HAlIRkeNn3cxgHqdmMiboL9DU82Ogr8665Xr SXmV6Z3nvNk2z5JetqWIzfumfx95EkIgnqbW2fBHHOCEHekg9VcbCkOqa0hLefx+J30/1/ gy2cWQQCLuYRryE68+Q1d/u+i0Y7m9h++zWwIqOZ9PWfKHI2uc+fVEF+lIPWFrmQG7VBAr kb9/A+IgZgTnXy3hA0IjOctFKjxedTqdNTKuC8KcJbo2zaBe4opafU1f6cMP1P+Qj+7zes Pzx8V9RQpw79SyWDQhyNd6jSL741YR5Pab7hLsWKBrit6KTb8PftYbsO3u9ZFcCUAHmhDO tvpwQxoUBVD4QGdr3yny9hNBGxC6cIXcidpcqmcCzIAwaTZyOCEdmWyIB8BQ X-ME-Proxy: Feedback-ID: ie3994620:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 27 Aug 2026 10:33:28 -0400 (EDT) Date: Thu, 27 Aug 2026 15:33:27 +0100 From: Kiryl Shutsemau To: kasong@tencent.com Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Andrew Morton , David Hildenbrand , Lorenzo Stoakes , Zi Yan , Baolin Wang , "Liam R. Howlett" , Nico Pache , Ryan Roberts , Dev Jain , Lance Yang , Usama Arif , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Chris Li , Kemeng Shi , Nhat Pham , Baoquan He , Barry Song , Youngjun Park , Shivam Kalra , Kairui Song Subject: Re: [PATCH v3 02/18] mm/huge_memory: fix rejection of swap cache folios with a mapping Message-ID: References: <20260821-swap-thp-cleanup-v3-0-9b43f5163238@tencent.com> <20260821-swap-thp-cleanup-v3-2-9b43f5163238@tencent.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260821-swap-thp-cleanup-v3-2-9b43f5163238@tencent.com> On Fri, Aug 21, 2026 at 02:55:15AM +0800, Kairui Song via B4 Relay wrote: > From: Kairui Song > > A folio in the swap cache cannot be split if it has a mapping (shmem). > The split code does a defensive check for this in > __folio_freeze_and_split_unmapped, after the folio ref has been frozen > and the NR_SHMEM_THPS/NR_FILE_THPS counters have been decremented. It > rejects the split and returns -EINVAL without unfreezing the folio or > restoring the counters. That error path is buggy: if it is ever taken, > it leaves the folio frozen and stuck, skews the counters, and fires > the VM_WARN_ON_ONCE_FOLIO for a state that is actually legitimate. If you are going to repost this, could you make "This error path is buggy" a new paragraph? > > Check for this case up front in folio_check_splittable and return > -EBUSY before any state is modified, so the split routine always backs > out cleanly. > > Also fix a bracket style issue that checkpatch.pl keeps complaining > about. > > Fixes: 00527733d0dc ("mm/huge_memory: add two new (not yet used) functions for folio_split()") > Fixes: 714b056c8321 ("mm/huge_memory: convert VM_BUG* to VM_WARN* in __folio_split") This is inert bug, right? I don't think we want the commit to be backported. I expect stable machinery to pick it up based on Fixes. Is there a way to express "not stable material" while keeping Fixes: in place? > Reviewed-by: Zi Yan > Signed-off-by: Kairui Song Reviewed-by: Kiryl Shutsemau (Meta) -- Kiryl Shutsemau / Kirill A. Shutemov