From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (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 503963AFD0D for ; Thu, 27 Aug 2026 12:02:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787832152; cv=none; b=P9fMqIhEjCUiiNohip0XcSXXALQa+IsbLqNbE0B3M32mO0CM87lp7+r5LKU42TP5ZpHqmh/9JcZF+cZV2TTLxFbDd/SJo8SCwKdEt5K/a1oV8rLwexSAx7RdjLa0HlLWBxuxfJooee9wcjVqv/0NC4IflgfuqtyjBTFz/WsND4Q= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787832152; c=relaxed/simple; bh=xy7XKD/bymlK+Ksss8En9NkgtwUVdpivc5xveG7VynQ=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=P0T8WNNA4m2yTcoTNnLFIdJMW1K066byYPdEk+XIP2aR0Mw0ApGHCDRVqmpwn5qUqkY15ubDcIwJIyqlfV5p5ApRsLj8TN9vXQUpThAtgFMXkD4xQo3+abeBftyyLp+IuO+4SYB9cIIyzOrJCRx0WvhGa3mDtGR6PPVAayDUjCw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Bb3BqZBk; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Bb3BqZBk" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2F33F1F00A3A; Thu, 27 Aug 2026 12:02:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1787832150; bh=2XsxeEPR3/Rk7rjBdJvlKvo98WGdtvIZTN2N8+2tZQM=; h=Date:From:To:Cc:Subject:References:In-Reply-To; b=Bb3BqZBkCy12z/XYEtwhaP4jdrDxearjy1VX5lOWm3vJo60wfk987M2UrfvVy920O iw3Olx8b6JTkkj8q8ioUhGJWt5ep9HybbQExO3t7OgMDtF0sn5YLA4HE++v+JGatPj aCIrx6SRt+vZDaxlKypBpBTTTFnjLmZOVH9bKNl7Ya8QhChxdoPxFCoswIxxAk1jMC oVr6q6lg3qjxecFQOg58k2XwDKPV4d85t3eq/b41tiGIMsPYwSajuDpSgooKQsDpUo gbzWJSSYGaSOTe458yLIzoEl8Xqh12uH3tZSLcXAS1fb4ih4D46Y2ab4o9wQ0IDVK0 cgUmJJrgg2L1Q== Received: from phl-compute-02.internal (phl-compute-02.internal [10.202.2.42]) by mailfauth.ams.internal (Postfix) with ESMTP id 04F11198006A; Thu, 27 Aug 2026 08:02:19 -0400 (EDT) Received: from phl-frontend-04 ([10.202.2.163]) by phl-compute-02.internal (MEProxy); Thu, 27 Aug 2026 08:02:27 -0400 X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: dmFkZTEirA8p/Fg2Vt0IQ3sbf8tygsd6g4HGOD50ZYQXuEOzvK3DDnN+iPIFENoOnOzS8y jl4cteOEz9eDzItp1psFvzkCM8nSgtIDdtXPBJUOsZUni9pif7kyC1W52Cbg5Y5o4uXe65 VqjwEt9ummVrtTdk+rpysdpOiyf5vZ9yetWZQoeBBoc+hPU4GIoq6romIJ6qEM6rH+0v7t OBnCBYkMaKf1tYtVOe0M2Ct7auJ71LhpDbgT1P/lz9P3MFwvlMkwlj2+xrVs8UmZMr74kE RP/8923JcU3qWpmArRahVMHSYtCWOWanNLthEMna1K6MswnvpxEy649NmN9nHdrRrGzBbW W/k1jezLaTAJc73o/EXawFGSUYoJR4c+TXIzR7h20OG7HDRGWp0bK9L+wkAlAJYhtry1YW sJ6WIBHNqylTjDtXfscT6bsb+fxgd+t/Ew3ALSICZinX2t+XlOJp4HolZ4C7IdMTv4hHWH +t8SZPqTgfyzBoelXA+4SfIjRWtn9U2ZpWT4mGQvrNivXc7daUyWHp3sDOkyxYDXoQcmbq yV4DrKa+59naxi6Pj7cBVsnTFEGxK7FsGKZcsuXdDqAdLJIuVE6szwyIGDdiPnskEaEVih QWuXHPSyTDwaLSAQhXmFzfXcK8Uhx2Pk992kJhYYzXVdDq7ovWBWIfhGRHxg X-ME-Proxy: Feedback-ID: i10464835:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 27 Aug 2026 08:02:17 -0400 (EDT) Date: Thu, 27 Aug 2026 13:02:16 +0100 From: Kiryl Shutsemau To: Hugh Dickins Cc: Andrew Morton , Ackerley Tng , Alexander Viro , Baolin Wang , Barry Song , Binbin Wu , Christian Brauner , Christoph Hellwig , Christoph Lameter , Claudio Imbrenda , David Hildenbrand , JP Kobryn , Jan Kara , Jens Axboe , Johannes Weiner , Kairui Song , Lance Yang , Leonardo Bras , Lorenzo Stoakes , Marcelo Tosatti , Matthew Wilcox , Mel Gorman , Miaohe Lin , Michal Hocko , Minchan Kim , Muchun Song , Oscar Salvador , Peter Zijlstra , Qi Zheng , Rik van Riel , Sebastian Andrzej Siewior , Shakeel Butt , Suren Baghdasaryan , Vlastimil Babka , Yang Shi , Yu Zhao , Zach O'Keefe , Zi Yan , linux-block@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH 07/25] mm/fbatch: LRU_NEXT_ACTIVATE bit to optimize folio_activate() Message-ID: References: <14a16945-529b-8bc0-ab38-3ea97e54e223@google.com> <16b39f43-d91e-7b23-900e-90cec13837ff@google.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: <16b39f43-d91e-7b23-900e-90cec13837ff@google.com> On Mon, Aug 24, 2026 at 07:09:34AM -0700, Hugh Dickins wrote: > @@ -355,6 +356,8 @@ bool lru_add_del_folio(struct folio *folio) > /* BUG_ON(folio_test_lru(folio)); */ > if (!(folio->lru_next & BIT(LRU_NEXT_BATCHED))) > return false; > + if (folio->lru_next & BIT(LRU_NEXT_ACTIVATE)) > + folio_set_active(folio); > folio->lru.next = LIST_POISON1; > /* BUG_ON(folio->lru_next & BIT(LRU_NEXT_BATCHED)); */ > return true; folio_activate()'s try_cmpxchg() can land in between two lru_next reads. Logically, it is safe but I suspect KCSAN would not be happy about it. Maybe READ_ONCE() here? Other note, page_pool (pp_magic) seems to be using bit 2, but I don't think there's a real conflict. -- Kiryl Shutsemau / Kirill A. Shutemov