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 1EA55EB64D7 for ; Wed, 28 Jun 2023 09:10:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A9C488D0003; Wed, 28 Jun 2023 05:10:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A4CED8D0001; Wed, 28 Jun 2023 05:10:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 913D68D0003; Wed, 28 Jun 2023 05:10:49 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 842F98D0001 for ; Wed, 28 Jun 2023 05:10:49 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 53C5780D42 for ; Wed, 28 Jun 2023 09:10:49 +0000 (UTC) X-FDA: 80951586618.25.AD07EE7 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by imf26.hostedemail.com (Postfix) with ESMTP id 41C9D140018 for ; Wed, 28 Jun 2023 09:10:45 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=hayA+KhD; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=SUnqEokI; dmarc=none; spf=pass (imf26.hostedemail.com: domain of jack@suse.cz designates 195.135.220.28 as permitted sender) smtp.mailfrom=jack@suse.cz ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1687943446; 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=O1waEYIxLL8AbYuL0wstgmIEKNw9jlwtFL4a/t+JvGQ=; b=NCsFNRp8g3V/zISUBLyhYQn8pR6ixjny4Q02EWyNKYr7WS4Xr0WTBsHX7t2orPPSN4Y5QM urzANrvcklP6QTX0lIyeNjh9QYv7+PnvcsuEVIXgjaqQC8AR7ur94m3vSnqFokKtP4MIol Pcjizp8rhLlEODQBqCLrL7zIybJP5+4= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=hayA+KhD; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=SUnqEokI; dmarc=none; spf=pass (imf26.hostedemail.com: domain of jack@suse.cz designates 195.135.220.28 as permitted sender) smtp.mailfrom=jack@suse.cz ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1687943446; a=rsa-sha256; cv=none; b=qi3hMeb3Y0lWhjHfA/XLwYSG4UouQmLlvMRCigMY0U+IcZoEoofkjWvrX/dNmUwdnC20Tt Kg+hbOHjOoc8BFvcKI7b1gsWdFgRxSGk2B0T4xDzouh/xW5Kf7oiYrouZMW1NpZkcanX/Z 4by9LJGaAiPl6Kyyig1wDcT4nTCQw+M= 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 74C482185A; Wed, 28 Jun 2023 09:10:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1687943444; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=O1waEYIxLL8AbYuL0wstgmIEKNw9jlwtFL4a/t+JvGQ=; b=hayA+KhDuNYXEyswHzkGwOL2lhBRMmyRk+LcUgh0Q32eHNRZIxP6ck3rM00MQVWtyrFsc7 ZVJ+rDturDkE4X9g1SVUDTPET1+5Kps545NkSgrMCD43J9W1vsieWiwaZospIHmqk8mWFG 4Mdp/eIp2kzvTjOLstxTJt0fM23YWn0= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1687943444; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=O1waEYIxLL8AbYuL0wstgmIEKNw9jlwtFL4a/t+JvGQ=; b=SUnqEokIdXZ9WjUuqjaF638pO3hMZYvR/dHxJIBy7/uzTkTrZj1TBi5QIXh0KE/LVXY17s qRR0HpgsxcFnPcDg== 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 687D7138E8; Wed, 28 Jun 2023 09:10:44 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id Ulp7GRT5m2QEcAAAMHmgww (envelope-from ); Wed, 28 Jun 2023 09:10:44 +0000 Received: by quack3.suse.cz (Postfix, from userid 1000) id E991BA0707; Wed, 28 Jun 2023 11:10:43 +0200 (CEST) Date: Wed, 28 Jun 2023 11:10:43 +0200 From: Jan Kara To: Matthew Wilcox Cc: Christoph Hellwig , linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Jan Kara , David Howells Subject: Re: [PATCH 09/12] writeback: Factor writeback_iter_next() out of write_cache_pages() Message-ID: <20230628091043.lokcx4tdbwxisk7a@quack3> References: <20230626173521.459345-1-willy@infradead.org> <20230626173521.459345-10-willy@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: 41C9D140018 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: xd8ssjqf9us9kqms694urwdfgxqii6a9 X-HE-Tag: 1687943445-639262 X-HE-Meta: U2FsdGVkX18UZa6E8XQ9TjHFyuO16TdH0Bumwc6QREcY+pM4gkgeebXN0oJa3cIUvzD7xqN8ASqTUpPTKUyURr7/8SRRR4xTiP/WI8duWd8OpxACSXM0A47K2JZXE4JyBO6+XVHinIC+0hxeBAPFIaT06wD6vz2QLl7w24p6POanmFKavNxMHwloDP9DGq234F+QZj8MuTWehAOaSGjs+94BiU6mOVfcFSndYccAPenjctaHIhlzgIXtC9zaGoC/vu5RODqr56+vlp10ucNNnqpUc/WYhx/7g/ivo8/uitmlKqzQx52J9Jn3dA+INNcYfqwdFZWrFKhF7cEw7ZlnvRlEpsQiez7p47T9AxElID47FNc5Q4KSDbyq/RTqQMZ8W7ICTVBGqqxnfFf6ECCdi7iwtX0MKpqH3WWcnRYRy/e8VgSVnTXABYb3ewfh1hdfMqVUMJJI4moN/zjlOpyWwCpeB7EjwA/pCCtaag1NlKUyhHptKrQ7CJl1rf81hQ5mlqhZtMcWKQQ52MKN7FhBW+DJ4hz5gEwGqtmTtO7YYHffg33lx27hOf52/aMGxxdU3C5AscVVV1MuMbed3DUVVwKZvZJU615Cb/SXxxSAQPodJGrCM32LmfHXJPNMEKT/QRjcqYinBPupGhn6z9tDoY4SPAsxQFbaYw6bq317GsjMSybzMhu8SNP2iZqW8m7cYwjpBp/3Qw5/Y0onQMWuJCVWb3/3hN3j1D+AKzohyg/xITCA8uliGp4lh8kPifBGnKllviImVmmIZlFXJ0Tf9X+MhWVpYgZuRSwwqbUgL7F4m79WldWubolgXw2L8sZa9wEfAvnEwBqcYPU2xSe+ooxLBsJT4qNpsB/3Shz7EWh0t+el3wnUvZ2jDzza8I6Jkg8husKWQRrGAjUrLISj/KkVJpXYMnnhdkdYno7Lj4dUf61pyGqcv/xkw7J33NI3PZFmzVMkHNivz1Z+yFN kTlUE/WS p/heCNVds4gnLynJOsFdw9GmgdPRl1wOszGy6eUpC6oYVSQQyaufdCD1tsjGNHpzQSBpQIjwO26dzgPO6GPITft4TqlNTc6iQJNTx5gWcSjqIrB2spJrLuAh1GrHpqcK8k5DQNHHovQF9Q1QODj6wWCtDfr8+mZNZDDLPKXSvYB6xCHP4rgfLFGoFTxCKlqX2f7BQHEhC3N1Ugjvj0V6bdqYWMDxD2gtv4KZ5hkebBuogm/G29ugszBLCrs0J9ur09NlPPubsKoBprlCqKaKaVR06Fd/ukxLMziwh5MOKH5iDCl0= 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 Tue 27-06-23 16:31:17, Matthew Wilcox wrote: > > > + if (error == AOP_WRITEPAGE_ACTIVATE) { > > > + folio_unlock(folio); > > > + error = 0; > > > > Note there really shouldn't be any need for this in outside of the > > legacy >writepage case. But it might make sense to delay the removal > > until after ->writepage is gone to avoid bugs in conversions. > > ext4_journalled_writepage_callback() still returns > AOP_WRITEPAGE_ACTIVATE, and that's used by a direct call to > write_cache_pages(). Yeah. For record ext4_journalled_writepage_callback() is a bit of an abuse of writeback code by ext4 data=journal path but it seemed like a lesser evil than duplicating write_cache_pages() code. Essentially we need to iterate all dirty folios and call page_mkclean() on them (to stop folio modifications through mmap while transaction commit code is writing these pages to the journal). If we exported from page writeback code enough helpers for dirty page iteration, we could get rid of ext4_journalled_writepage_callback() and its AOP_WRITEPAGE_ACTIVATE usage as well. Honza -- Jan Kara SUSE Labs, CR