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 4B253C05027 for ; Fri, 10 Feb 2023 10:42:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8B0DA280005; Fri, 10 Feb 2023 05:42:28 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 83967280003; Fri, 10 Feb 2023 05:42:28 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6DAAD280005; Fri, 10 Feb 2023 05:42:28 -0500 (EST) 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 5A02F280003 for ; Fri, 10 Feb 2023 05:42:28 -0500 (EST) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id CC8BB1A150F for ; Fri, 10 Feb 2023 10:42:27 +0000 (UTC) X-FDA: 80451043134.10.3E9B946 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by imf08.hostedemail.com (Postfix) with ESMTP id C0234160015 for ; Fri, 10 Feb 2023 10:42:24 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b="mQE/LUpr"; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=cRvRDsg8; spf=pass (imf08.hostedemail.com: domain of jack@suse.cz designates 195.135.220.28 as permitted sender) smtp.mailfrom=jack@suse.cz; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1676025745; a=rsa-sha256; cv=none; b=i0blWF0ChpWlxvdvsla5OAl42R/yNER6do72PV/q/xze36e1LirhA0EKZXxrp4BmpY9ntN X13sNs1f/2MeILJgBTWJ/ve/b0w+xIbW8TDiKn5Q2A2aRlkh5cfkXT+ADCwln0IO3/NLo9 dHqMGAx4Lo0MGXyrK4+StYijphQrwsw= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b="mQE/LUpr"; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=cRvRDsg8; spf=pass (imf08.hostedemail.com: domain of jack@suse.cz designates 195.135.220.28 as permitted sender) smtp.mailfrom=jack@suse.cz; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1676025745; 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=eiLp0nIlB2IXBYhm+6Edakc0p6tqgjH4KpcYsBQFpLg=; b=qu07TgZfK5TAiCJOj7B5XhzLrFUVa9rmZKN/rjSblyn68iI6y7WNvUPXFCnQwztY3WIumI oUzg8QMLGbzsRwv/E3fC71NnVEAK7jDR5WpF9orkG32CdEfInqlU0J6W1rEGvIUMtSnxsv mSQVSG4CHSzpMKbFl8jFcBRMKVO3YqU= Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 2F6E63FE8E; Fri, 10 Feb 2023 10:42:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1676025743; h=from:from:reply-to: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; bh=eiLp0nIlB2IXBYhm+6Edakc0p6tqgjH4KpcYsBQFpLg=; b=mQE/LUprHzh3stPmglOJ6jd3j2pgKsJODJhmu0VY3MhqZ8PLt8axg/z4NfRLR2Qp+E515L Rd+hDKvOjSdhC7N717IOBDHARedFEYAIroyfTsk9XlTqyofvoionsSqVwhfF/x3vPfDCZy b87rfhT13wBptvCOwpjm45QF8Uv7CXQ= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1676025743; h=from:from:reply-to: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; bh=eiLp0nIlB2IXBYhm+6Edakc0p6tqgjH4KpcYsBQFpLg=; b=cRvRDsg8afBmL2ySK1Lp/33L4BWOacH291O70bjzPGsKMqvaZ09Dn4vms3ULCpxYnmODBJ bSTMTaYjH5Ir83Cw== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 22A8F1325E; Fri, 10 Feb 2023 10:42:23 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id 50FwCI8f5mOxUQAAMHmgww (envelope-from ); Fri, 10 Feb 2023 10:42:23 +0000 Received: by quack3.suse.cz (Postfix, from userid 1000) id 94D6AA06D8; Fri, 10 Feb 2023 11:42:22 +0100 (CET) Date: Fri, 10 Feb 2023 11:42:22 +0100 From: Jan Kara To: John Hubbard Cc: Jan Kara , linux-fsdevel@vger.kernel.org, linux-block@vger.kernel.org, linux-mm@kvack.org, David Howells , David Hildenbrand Subject: Re: [PATCH 3/5] mm: Do not try to write pinned folio during memory cleaning writeback Message-ID: <20230210104222.yt5ktthtwyc6f4iw@quack3> References: <20230209121046.25360-1-jack@suse.cz> <20230209123206.3548-3-jack@suse.cz> <4961eb2d-c36b-d6a5-6a43-0c35d24606c0@nvidia.com> <175bbfce-a947-1dcd-1e5f-91a9b8ccfc25@nvidia.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <175bbfce-a947-1dcd-1e5f-91a9b8ccfc25@nvidia.com> X-Rspam-User: X-Rspamd-Queue-Id: C0234160015 X-Rspamd-Server: rspam01 X-Stat-Signature: efbw5rgrg5wezi8ek1sypr8i6a389ss9 X-HE-Tag: 1676025744-757406 X-HE-Meta: U2FsdGVkX19ezJhuCtZcf2+nKX8tXhf0JasdwhsWMMBrZCi68zIpYYBvmXC7OfMjHz2u1oFDJZiLFbpe7DTfPJHwWBFdsKj5S45Qg+OOzoAwJCbxdUTg9d51upG6GzT2jd7Z/G9I+qVjImdqMrzDXgacfwGHpgV+2tVF8cJbFh4KqbOm1vFA9gzCwYGrRB5xnBPRaiImHqRRj3MV3xZXTnRE8H4/T1rynK5+FGLp08Sn5vCAI8cr25POUP2srxWI6DqeAJaRtNEUngqM44LRcFfyd2VUnxH/OiGK3g3kg1QEPmtc85P8tVaqGaj/zp93VI2rn1td6D9rVoZC4aVk3Lw54rcUKrfd/F3/ULEbhCNdH3sOk0JRUfveoogc6ohuqpv2laQL0WH5Cs0PbgtXQi2XuOtqOCH+0BRK05G54ChpK3KX+/xTn/GZqplK8c0FNTVso2kTPKarRZctrwJ6K+nO3UGFtYc83ZYVG2MgjWjPfOSTPVRNQBxNUK+hXZCJ2Wg9zU4ix7qkJ/b3F35YRKValAwhSn78SuEpeual1rarpXmEzaZ0eXw5idZtAujksEzwWXhJPg2h+pmiIIDZHcpcDjsvNy+npHDVXth2cT9GJTcrqzZBYSwLF5U1giJdIxsCQ3RZvrlfg+Q9v+PWCVcjZoSqRpvsBcMygPKeKazPmG1JIRWfvJhYM+P7VOZGL/E/ZrGDX/kq81ujzycPY25jm5iFClRsKEAtP9sQBMjopeKOxniBmQ+ffQSnnOPuo/FbXjeF4r9EfU6iRRiqYEoftzsykI9dfHG5dYgc4ukaoqitJXy0zdFT4w93DXJZsG5at5wOemanRT79asDRAc9ril00ktlyiESa1V3I09yt4ZymMdYaC2RdNw7y+AUlbXAnnuCjYdFQVTni+OsQCl4Gmdfj42/qo65T2jOytFbZvZkJ9lHLSlAdKAiMa8CaQIbSIbNdHJk6Zfn2sxh Er6q5YVJ g76XveapztRzpuOUNa6LpB56hLGUOrLad7YZdetmdia4ZgMmEhK+g0+r08dL4UoGANtRGJxCd1uzOgYb02eMDzkXUPLcsaXa+cJb9DNArpZoU9uGrl6sz1wNDLy7jF146hEUFDh9VlcSL1KzpVQ+jyqjOa1MJct8n+S8I8iMXmcinWYngoPkyEUl45qGE6r21UyGh0hpwoOtIuBThdSkd0/KIN4yeaB2ZWrO9CSFaLwptKpEMmyXVWKhnEYOvmyablf2MFoa5IkJTd+I= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Thu 09-02-23 18:10:23, John Hubbard wrote: > On 2/9/23 17:54, John Hubbard wrote: > > On 2/9/23 04:31, Jan Kara wrote: > > > When a folio is pinned, there is no point in trying to write it during > > > memory cleaning writeback. We cannot reclaim the folio until it is > > > unpinned anyway and we cannot even be sure the folio is really clean. > > > On top of that writeback of such folio may be problematic as the data > > > can change while the writeback is running thus causing checksum or > > > DIF/DIX failures. So just don't bother doing memory cleaning writeback > > > for pinned folios. > > > > > > Signed-off-by: Jan Kara > > > --- > > >   fs/9p/vfs_addr.c            |  2 +- > > >   fs/afs/file.c               |  2 +- > > >   fs/afs/write.c              |  6 +++--- > > >   fs/btrfs/extent_io.c        | 14 +++++++------- > > >   fs/btrfs/free-space-cache.c |  2 +- > > >   fs/btrfs/inode.c            |  2 +- > > >   fs/btrfs/subpage.c          |  2 +- > > > > Oh, and one more fix, below, is required in order to build with my local > test config. Assuming that it is reasonable to deal with pinned pages > here, which I think it is: > > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c > index 9c759df700ca..c3279fb0edc8 100644 > --- a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c > +++ b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c > @@ -313,7 +313,7 @@ void __shmem_writeback(size_t size, struct address_space *mapping) > if (!page) > continue; > - if (!page_mapped(page) && clear_page_dirty_for_io(page)) { > + if (!page_mapped(page) && clear_page_dirty_for_io(&wbc, page)) { > int ret; > SetPageReclaim(page); > Thanks, fixed up. It didn't occur to me to grep drivers/ for these functions :). Honza -- Jan Kara SUSE Labs, CR