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 443B6E77199 for ; Wed, 8 Jan 2025 20:54:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C72F46B0083; Wed, 8 Jan 2025 15:54:51 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C22986B0085; Wed, 8 Jan 2025 15:54:51 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AC3AB6B0088; Wed, 8 Jan 2025 15:54:51 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 89BCE6B0083 for ; Wed, 8 Jan 2025 15:54:51 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 429BDADBFF for ; Wed, 8 Jan 2025 20:54:51 +0000 (UTC) X-FDA: 82985488782.20.31E5672 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf21.hostedemail.com (Postfix) with ESMTP id 11B7F1C0019 for ; Wed, 8 Jan 2025 20:54:48 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=id8ODoj9; spf=none (imf21.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1736369689; 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=9sXMdrAsf83UYmPz7o8NHqLs8S9FkLI60oZYrNlbEpE=; b=Be04o/pSPQlTPdNIpN5pt8bexLNP6/VfrZ1itvYuGBdB5R8OVfFOdAMc4a+WIsgVLoUh7W /KU98HyJ0TA+tOG8DoLz1QdpfcIxYiwuqrmv7ObR5oaHyAj9pKMnp7ylv/A3/3wiTukF5z OrFfKyoMXOXBXPoVO7W9x7JQM2TszcM= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736369689; a=rsa-sha256; cv=none; b=1riVaxfd+0B7FWxLkhF9alRmIBrEOHrGwnpWr5cLsrbPtS2NQ31rf2ZsxfHjrjzwy34Yr2 KZYqN+v2D5jvulw9+hlBwHyEGZ9DTJVJeeMfx5Cpz5owFJuWx55omjDqBLXqgnGMCSuAkL Sb7Mq37quxl6FyoYlAsxLd+0Es9l9P4= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=id8ODoj9; spf=none (imf21.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none 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=9sXMdrAsf83UYmPz7o8NHqLs8S9FkLI60oZYrNlbEpE=; b=id8ODoj9gU0Cdk3fyxjE3BdOdg uzdKMRy41bzNmrLscB4FzoMPJ5q7FYTtHLhNy8cYciYJrrqZfj1WblHHR20IRMFctT3j96n96gsKO aU0GsNK46nQFgEImmHiUJT11tcTDzlYSNewtMaYYpNHzmJS6WPMmNoPXpAy1HcrQcHBWWNgfc0ZTO BkaC1qZ/9eJAaE7h9DEcPguHWkzM5QJtDKQhFYgCdOb+p/YvzJwdQA2YsAl1G6bp7zfbGmAyLhc5g 36GBWqjje5gB8aEEiFb905VC+d8oT67HKipiG6yC/KiUtQPcqHS90GWjL3Bi7Cix5Ul0hITNqkgTn jo44I6PA==; Received: from willy by casper.infradead.org with local (Exim 4.98 #2 (Red Hat Linux)) id 1tVd4d-00000002p0c-1TjA; Wed, 08 Jan 2025 20:54:43 +0000 Date: Wed, 8 Jan 2025 20:54:43 +0000 From: Matthew Wilcox To: David Hildenbrand Cc: Lorenzo Stoakes , Andrew Morton , Jaya Kumar , Simona Vetter , Helge Deller , linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [RFC PATCH 3/3] fb_defio: do not use deprecated page->mapping, index fields Message-ID: References: <1e452b5b65f15a9a5d0c2ed3f5f812fdd1367603.1736352361.git.lorenzo.stoakes@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: 11B7F1C0019 X-Rspam-User: X-Rspamd-Server: rspam07 X-Stat-Signature: 958t1mi7gt77hirjpznozfxq9wo9wm77 X-HE-Tag: 1736369688-426179 X-HE-Meta: U2FsdGVkX1+u9+2ajE0wpEZGHvMwvGhTcnISlt1TsNhUxT48ut6/UGzxByqB1rKyTtbqYcNNCGEOoi8fq91w8uF7oqcanb4zRkMMY53XDkfZocJP+ZPD0sqWmr3coQdaytXbDRxBiSbeTz5oKh6JUIJ1GPZFAZamLAR19XWVluMaMZ6BPw1gn7+WfxPbnK1uIg4C74RX7fHeE6nKC1GO8dOLHNdDxLjNL8X7tLPQb4NqeLPZXRsXzwgol0FqTdZuQeEb47rbIQSJ8b8SBOr00IzlLf1SbQzOo9M+6RLj9gi2lR2j3hgBK2mWEobC5mZ0n+M6ah9omVPfP2/NSiQZmli1C64i2o4VrOvAuAPESgTXjdlR/YFEH9IUWJGtTGDZKPmvD9coJoMHbUE9hox96TRSXJZLuP8FOho1UEq9q6Ivoru7aKbfC9KqtnWRWN5Q3mSMgjakibvvjqZGvtdwmCo3eaTC5eNDJERsT/WsCeaqvPlVUfR1Oux/LupqiAzO+H1UTHmldsjhJmoxRNt62dmR6+DDFpzj4AT6vVhVfVqqF+H55q4Nt5qZXdKhUHqF6w0+kFLZgBiLPrEW6n5JGSS8rwJ0SKFwee9rwdjig1KFLlk5CxohR1el01u8fw5/1UZSE7yLke3ZnElaAHS8H94Vaq0gwsvvfI4prENlwKJvwtKb5zHP/XqDxptIDq+kzdinhp7jNf7M+lUjmJTM9Mw0cpEBRR2tZMRqFqgMpzPLcpuikN6UEuzN51A/2BHYRZYiuXj5NvB9bDZh2OYZad3YXkCxT+2eo6SmmbVETnXpXFKq5GQLloJ21OlpJstj2nAxjjuPqLt459T19fUDxak2A3lWxYDQmd6UVhJ6L29KneUoX9EDlRRIodanZl0rH2SXhfCo/XhpFEtrEBhOBE6kzX8gxx+pXYLK0yXV2sHxOqygzeMobRvwIIzk7KkvTBTTyUf3GSDowI+fuWI WOU1RF2v a/xeYg9f4/YvRVWE3A5InQdGi8bJXAAoXAK7ff2T8fKEu9cDr6ITbaTDBqYjsxpGNpvVHjxAv6Odko9Kh5cxkW0WtP9WrCnz8K46+wW/GN/Wg7+r04mGYRZL2h589V5CLr47T3I10HDZGuTiE05m8JZ76oC7OitfYLPHAOJ6k0057arfmi0Y+hwxx2gEOY++Tir1nvw9hH48y/LLSl+trhCBKxQzk9dQhT1HuCYUTcspF9938DglcSFakl+lLrfvyCYgOxPAha5ZZzN6May9V7nJTkA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000026, 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 Wed, Jan 08, 2025 at 09:14:53PM +0100, David Hildenbrand wrote: > On 08.01.25 18:32, Matthew Wilcox wrote: > > On Wed, Jan 08, 2025 at 04:18:42PM +0000, Lorenzo Stoakes wrote: > > > @@ -280,7 +269,10 @@ static void fb_deferred_io_work(struct work_struct *work) > > > struct folio *folio = page_folio(pageref->page); > > > folio_lock(folio); > > > - folio_mkclean(folio); > > > + rmap_wrprotect_file_page(fbdefio->mapping, > > > + pageref->offset >> PAGE_SHIFT, > > > + compound_nr(pageref->page), > > > + page_to_pfn(pageref->page)); > > > folio_unlock(folio); > > > > Why do we need to lock the folio? (since this isn't necessarily a > > folio) > > Can you clarify the "since this isn't necessarily a folio" part ? Do you > mean in the future, when we split "struct page" and "struct folio"? Right. I need to finish the email that explains where I think we're going in 2025 ... > Doing an rmap walk on something that won't be a folio is ... sounds odd > (->wrong :) ) Not necessarily! We already do that (since 2022) for DAX (see 6a8e0596f004). rmap lets you find every place that a given range of a file is mapped into user address spaces; but that file might be a device file, and so it's not just pagecache but also (in this case) fb memory, and whatever else device drivers decide to mmap.