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 3264FC4332F for ; Thu, 14 Dec 2023 13:25:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 855EB8D00B3; Thu, 14 Dec 2023 08:25:53 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 804998D00B1; Thu, 14 Dec 2023 08:25:53 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6F2CF8D00B3; Thu, 14 Dec 2023 08:25:53 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 59C5C8D00B1 for ; Thu, 14 Dec 2023 08:25:53 -0500 (EST) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 16A68120141 for ; Thu, 14 Dec 2023 13:25:53 +0000 (UTC) X-FDA: 81565496586.01.4099400 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) by imf28.hostedemail.com (Postfix) with ESMTP id B055FC0002 for ; Thu, 14 Dec 2023 13:25:50 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b=msTwUCdv; dmarc=none; spf=none (imf28.hostedemail.com: domain of BATV+55581d165dda9d0af87b+7417+infradead.org+hch@bombadil.srs.infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=BATV+55581d165dda9d0af87b+7417+infradead.org+hch@bombadil.srs.infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1702560351; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=LREzFOiIV3fjDw34Jpih46a+FLwDl5jbzLHg7aSD75g=; b=KUoPA/lbx3W9r22iZoJPR7i5YQY60b30AUceGEszQAVEa+rU562L6HYsCV/eNSjcI44Gts dK7SzxsUe5xIHhhizd1tNXWN5VxZ7FlY2ES/S74atiQjeQH++2Dc06X1emf15sD50qg66K e/0edN1jbFjOzwd2Qc3apFQbDgxKofQ= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b=msTwUCdv; dmarc=none; spf=none (imf28.hostedemail.com: domain of BATV+55581d165dda9d0af87b+7417+infradead.org+hch@bombadil.srs.infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=BATV+55581d165dda9d0af87b+7417+infradead.org+hch@bombadil.srs.infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1702560351; a=rsa-sha256; cv=none; b=7TxPefMjd83y5ZOBqXq5BsFJt5fYIfm6l/6poxTkzGXRcLLCFH5OZZu+W6RhKRIK3wikRY gLuwnOJAlLOJ6nsCXYiuGrs2FF5yOUNqv4JDUG4UuWsB1fnWE8A3qF0BZB75itYd6g0Nxa FPzXSv6BhSUWY6FSDc+rfcG5Zfq52J8= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: MIME-Version:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type: Content-ID:Content-Description:In-Reply-To:References; bh=LREzFOiIV3fjDw34Jpih46a+FLwDl5jbzLHg7aSD75g=; b=msTwUCdvMHb/A7UZZVc4eJcwh8 Rg0CdLaGQkHv71MLerQ3i16FSDMF/Ai6tyMaxiCaM5BEDwKP4Gqll992eRMuqwt71Jx8zumA+UG4O JcRee4RYP9MvyVu4ZEgNZ52P7eIGxvmrnZgzl5zQL79PU85dZ+JTD4ri0YY0nucSK6oyPoHGgBDHe Fi5FyVjmUg0asyhaG4lC3vY7TYdptWnvjCi3QFK+FR+q1HfAv8mZ19y8gi+rC/v4buCm9w4OEg1J1 W5R6hAHk/WC+auX7wcV5GzH24haPOpXdrd/Z3lxW80kvt9ULJoV0bolRfcORbOf69ppwCN5PwrrUe 3SpeRZiQ==; Received: from [88.128.88.27] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux)) id 1rDlil-000N0X-2K; Thu, 14 Dec 2023 13:25:48 +0000 From: Christoph Hellwig To: linux-mm@kvack.org Cc: "Matthew Wilcox (Oracle)" , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Jan Kara , David Howells Subject: Convert write_cache_pages() to an iterator v2 Date: Thu, 14 Dec 2023 14:25:33 +0100 Message-Id: <20231214132544.376574-1-hch@lst.de> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html X-Rspam-User: X-Stat-Signature: syne7sg6izzk3yj5sird4beig9fe5b37 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: B055FC0002 X-HE-Tag: 1702560350-203748 X-HE-Meta: U2FsdGVkX19k++zwf6v19NiUAizy+vAbMQqJOZmBlOZZL7Nl9pIODN44BGPnDsWGy7pnIecxmFw8l9oYTgV62lQ59GsF06cU1q91NFgbCBbrxzodOpo7Jbr4Y5FCg59aDRl1yap/1nfoLfkpf6z1oGDKdsRv5rGNx+9kdzp0BxP8wRj3PUTUBgEE/JV9HCUScTtTSD7x6bEeQM0HUN/udbDhorwdf35Cz+2TMOVnEiC0BV88nXifQHuNz9J/V2tiqWLOjwUKeg3UClNHIDzzGYMQixIk5e0d22atPLm4s2N678n9TCD9sTQQtf6SMYOZyrrLi2K8fAYYrdbljliRRtTYM/SVk/ZZ/WJxlnrwrufhNnXW/a9dLX0W96mxxiFXqJ9osNDsyB2fbSohiWluTdNcFUJWphYzCcfibOpo4llU2wzC15HuhcrpmfFSnfnwlHv9MUszM2U51H1ruNI5YUWrAOHPIa/ZNDV72V+bs6dcpI4NSKJTIIy+vmTEQEkKOSLZsuxdSEIrz4bY2zGO0ZOVb2DxHXkaHUC/u+rT2VMigiPLOKK+OYqdvjUJOHpeiy28wQQfRY/9YBWLgpjvoOVwBhy0ptYGbKrABT/8I4KieyCfY9WPd+odPm+VNPA2uaC/QLvj/zqpwnHIqJUFOenbxU/rSNcFafFZA8YUrXhCJg4buzw6HrPU+9uZ97etOod54kd/Dr2TCrLJDybYrCGhRldTS/pGU8gfWYKdymSePK42Subss21Pq2tIiyVaUdwYj2nwYrZjXaqKoLYptifDFYnKSh+kEwTG2hjPvzjvkVjhcwki2W+oQP6/epJRj32C030nTn+mnOTWibZU+ohdwsoGlW/QFQXMO8d1UinIcNbPiYyXqPO5+yDvQkUoPmlnQmmTHxUsymhK4V2/Rrnya2w9tQ+GRzcks2YU5EVVCSCDR7JGllBA+v0Ybfy9cg4ce44uj4AHShCG0c9 I3DVEm/+ 1tbw5vXSFcCEhGGmk78JF4v/Z4xtEPWkPHUAbUZORnlso4P2RyVg2P8s9+TX5Tyz44sxImLQuldXRU5BUCKxFJ1WYH400Nb1eQWS8A7jsOCtlwj2qUTCyYO71GPuWQUN8DB4mZ/nYXg1EeO7tg9xgBQIt306Km7MVA5VakcPICHYTyNzyyfMkIcUd+kB2RjaBqno7Juno6ZL2gUWLaxhRrjcabuKzzlanwCEomAXnmWssXPLDJfxX65SYjDoQkmSRtO0yM0WEix4tc7PMruSSKXiE8Edi6LiISCrmDMqbeLPwP1gxLeQ9mVX/FtI1QyeQHIC3Jp92m4Xlde1t+81VvLCnvueafF4h0jn0ynY1Stlx06zkOsHNy5/MFXK+DeP4bVrKy8JFRqEHCmVFTlJuLfztyf/7ThF5rfZN3x8TM0tt2R+hlacS4e1JwA== 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: List-Subscribe: List-Unsubscribe: Hi all, this is basically a report of willy's series of the same name for June. I picked the lastest version from his (now apparently defunct) git tree, rebased it to mainline (no coflict, neither for linux-next), reordered the new fields in struct writeback_control to document what is interface vs internal, and temporarily dropped the iomap patch due to a conflict in the VFS tree. willy: let me know if me reposting it like this is fine, or if you want me to stop. I'd just really like to see it merged :) Note that patch 4 is missing your signoff, so we'd need that before proceeding anyway. The original cover letter is below: Dave Howells doesn't like the indirect function call imposed by write_cache_pages(), so refactor it into an iterator. I took the opportunity to add the ability to iterate a folio_batch without having an external variable. This is against next-20230623. If you try to apply it on top of a tree which doesn't include the pagevec removal series, IT WILL CRASH because it won't reinitialise folio_batch->i and the iteration will index out of bounds. I have a feeling the 'done' parameter could have a better name, but I can't think what it might be. Diffstat: include/linux/pagevec.h | 18 ++ include/linux/writeback.h | 24 +++ mm/page-writeback.c | 313 +++++++++++++++++++++++++--------------------- 3 files changed, 211 insertions(+), 144 deletions(-)