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 94838C47DD9 for ; Wed, 27 Mar 2024 17:47:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 292D66B0096; Wed, 27 Mar 2024 13:47:02 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 242D66B009B; Wed, 27 Mar 2024 13:47:02 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0E39E6B009C; Wed, 27 Mar 2024 13:47:02 -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 E4A446B0096 for ; Wed, 27 Mar 2024 13:47:01 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id A9AB840DC5 for ; Wed, 27 Mar 2024 17:47:01 +0000 (UTC) X-FDA: 81943549842.12.D1D6A4C Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf26.hostedemail.com (Postfix) with ESMTP id BE7BC14001D for ; Wed, 27 Mar 2024 17:46:59 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=HDfwRf3f; dmarc=none; spf=none (imf26.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1711561620; 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=7rtlcMvAOZqMG91SbLLXeao498bSKZqxUrAUPkW+pUQ=; b=0/mVr6haiYThI2PrDSxIrrMI4oKPHyE1W7WKQUKRxW0QOAArVSyo80gUVe+tGYDia9Xhhz +IaxHUOrHfohaWCqDpvRATA9kt2Jw0Bf4iH6BRuyKx78W9luhEExc23sXm84xGAhNoMSVx kpy1rQtiV+leRjLcMrTGUll3nPxjNYA= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=HDfwRf3f; dmarc=none; spf=none (imf26.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1711561620; a=rsa-sha256; cv=none; b=GXUpEC9s8DuxB2sMOTMAhEbEF9RfLwpRbWkOKhtxhiLbWzhBPjlSUNaRtPGuHm2xWNwxlp WEszL3xhBMKnDzRJYAXKae1qnaKb30P1nJvcxYJygOZhVmlwB19O1gPUePGW3kNzZtgBb5 KASCRXJpuj8xBQ9Tfh3IfabogROYlH8= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Transfer-Encoding: Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date: Sender:Reply-To:Content-ID:Content-Description; bh=7rtlcMvAOZqMG91SbLLXeao498bSKZqxUrAUPkW+pUQ=; b=HDfwRf3f9ZX9fBrm5LQIxQEnEx zRji8K6f9jOwKJMzW0ps8UWVTIQ+DpE6EenLKh7kpWOjyp1cwkxzOxyFit8ikVRetjY0m6pdQbBmo cgRxegFCABQRAW0DoxZGjzAkXHWyQ8Qmyj6CVD1YFeBKrD5iLZk6kTMWAayIaAP9Lzo6/VDogbCIw I4hGSVwSGmsWotZ1Zr4n+AFwFE4oQRDQGICi9aX+P7JaGn85ZYew742acjLnQAuTdTVaOz8/p8DI2 T+g+iD9V0hpVxiLJQNRFLTuRuHOzcCeZdKqbtUWm1QZEg6DXI3wqVnfZvFZ0K8MIQUyAAVjHTnfgm veRKIGKQ==; Received: from willy by casper.infradead.org with local (Exim 4.97.1 #2 (Red Hat Linux)) id 1rpXMS-00000004NZT-3R3f; Wed, 27 Mar 2024 17:46:52 +0000 Date: Wed, 27 Mar 2024 17:46:52 +0000 From: Matthew Wilcox To: Trond Myklebust Cc: "hch@lst.de" , "miklos@szeredi.hu" , "dhowells@redhat.com" , "ceph-devel@vger.kernel.org" , "linux-cifs@vger.kernel.org" , "brauner@kernel.org" , "linux-mm@kvack.org" , "linux-fsdevel@vger.kernel.org" , "akpm@linux-foundation.org" , "v9fs@lists.linux.dev" , "netfs@lists.linux.dev" , "jlayton@kernel.org" , "viro@zeniv.linux.org.uk" , "linux-nfs@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "devel@lists.orangefs.org" , "linux-afs@lists.infradead.org" Subject: Re: [RFC PATCH] mm, netfs: Provide a means of invalidation without using launder_folio Message-ID: References: <2318298.1711551844@warthog.procyon.org.uk> <37514eae34c02cefb11fc4c6d3f4ae2296fb6ab5.camel@hammerspace.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <37514eae34c02cefb11fc4c6d3f4ae2296fb6ab5.camel@hammerspace.com> X-Rspam-User: X-Stat-Signature: ibt88b4xpekp8p1ftuenzamiuc3ht669 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: BE7BC14001D X-HE-Tag: 1711561619-98893 X-HE-Meta: U2FsdGVkX19gEsy+hhFBOcSmn76TcU5VRk5H0vu3omzul45Ig4AzHPiVbRnppC/Hu0a9RsJUMUX4H8PhJEneHGjUbm7lGaZv/58JDmXkwGqisAmBmUYCyKe0KAt3eM8eovOO8EZv5z6LN2Vj2Fcs8yL8jwiHSPvYrB6tBBHWAKSLQBtjgGUVZYV78nr1rSOXrYMy9crbqb0DzU5yj3xJzQw9OWPitrZm47Qz+Sl/pG89ArCfX7UjoaYY4KpSOxpykmf1+caJRNQtBde7z/TMgIMN11n+BBXbQWnVm1+Fr0t/p9rRNbqCdlaKn+F11XAbdjdupt2lF1zUDO0xTa+A0BtHdBfZ2gAuj0ogobWNvVJ75ZFhao3nLvOsDmLkCcwUH0CHUx5VIE6Jo1qN1C5VYvSu6nc457W/ODH20MRTFAkz2reQ/WcXoztFBuLZJxP0pnZfxDYfVj8hWXxG05hn9D2WHdO18y06JLwiY9dZDNSUtV4DbkPWs9AR8HGdLVVV76oKss0kkCjmMuq7AY6pj/39XEdRMpTjd2mdAmAc05aO3wN7h+GjoqdzjfF/SGEwwpvCRbIyhqDpP+3iSBhFK0NIWBsbjkNl3tN5wY6bUMkWno8+aGiDi/CswVcuc6WAD+dY6Pi8GbInwzV52hYoOm1rTy2SS6s9aAa4kx0A6MsbN2vzBQpyNqQExok42xurDD3/Z0fpz7mORBZvvaDRMbgLIJVBHU/u+D/eAdkqS6H140KutR9NaLekAxk2qz4oyagwlj88X5AqH2UnOnn2/Vo5T0ydjK3HxzhPoQ6O4UhNqDebABYRf9ZYAd5pIrD0Olr6Ipv3NmvK8oGpiHnGMnGvmY65rCt1i2QEscNoh1eGmeLr8si5cTSVQHhHPrPREgkgCmTG7v+raV3l37wB13B2PSnu2zlmG2bnGbfLxct4cryWMohrONm8fJEGWX3+lT03iV15QOGu0+Ssmwm dzq8LUvC mXVZUcpr6HpHKK/Krel5M7RCn6aQidVjjP4/meu3T8Kn3fTVd09VRCV3zA6Vd0BYXON+0/+ARaKKwt66fwhGir3+j4IHtrTZ0uqMB9FZ1IM6Dj/b3G8SbIfLIWYpAz2U51CHxOMZriSOENvEzfxzSlGb2AQeplblkhlbomiAi1Nvn94Wx9t0fn1ZOjNYM2bArn7RvwABMOLNHigBDkAG7k16HE1Oee+TYm01fUBmncqvlW1zuRzF/W+3Uxw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, 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, Mar 27, 2024 at 03:56:50PM +0000, Trond Myklebust wrote: > On Wed, 2024-03-27 at 15:04 +0000, David Howells wrote: > > Implement a replacement for launder_folio[1].  The key feature of > > invalidate_inode_pages2() is that it locks each folio individually, > > unmaps > > it to prevent mmap'd accesses interfering and calls the - > > >launder_folio() > > address_space op to flush it.  This has problems: firstly, each folio > > is > > written individually as one or more small writes; secondly, adjacent > > folios > > cannot be added so easily into the laundry; thirdly, it's yet another > > op to > > implement. > > This is hardly a drop-in replacement for launder_page. The whole point > of using invalidate_inode_pages2() was that it only requires taking the > page locks, allowing us to use it in contexts such as > nfs_release_file(). > > The above use of truncate_inode_pages_range() will require any caller > to grab several locks in order to prevent data loss through races with > write system calls. I don't understand why you need launder_folio now that you have a page_mkwrite implementation (your commit e3db7691e9f3dff3289f64e3d98583e28afe03db used this as justification). Other filesystems (except the network filesystems that copied the NFS implementation) don't implement launder_folio.