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 6D262C636CC for ; Wed, 8 Feb 2023 05:26:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B0E1E6B0071; Wed, 8 Feb 2023 00:26:48 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id ABF7F6B0072; Wed, 8 Feb 2023 00:26:48 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 986046B0073; Wed, 8 Feb 2023 00:26:48 -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 8BCE46B0071 for ; Wed, 8 Feb 2023 00:26:48 -0500 (EST) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 56ECF8082B for ; Wed, 8 Feb 2023 05:26:48 +0000 (UTC) X-FDA: 80442990096.02.0AD20B6 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) by imf05.hostedemail.com (Postfix) with ESMTP id 15A7E100009 for ; Wed, 8 Feb 2023 05:26:44 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b=dGBxZ03m; dmarc=none; spf=none (imf05.hostedemail.com: domain of BATV+3d14ed7283e31597757f+7108+infradead.org+hch@bombadil.srs.infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=BATV+3d14ed7283e31597757f+7108+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=1675834005; 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=ARUk2d+sCZWHwDfzIfVXqPEuRg8EkLiwolIcbG+SXl8=; b=iN93aZTHFKxuegfPje26hLu94/32IqCiuWpmHuI4dyEWXMZgvGokhcG8BPzxjGdI8l922y GBMM/xTKsFVc3pkHL+2cD+jPA8I031H1932U+6q0g0hSA7Q5b/nNwzlx9k9PipvazDoMlt 2daiNf0d+sqJm8xUlqSEmm3QhQtdZ3g= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b=dGBxZ03m; dmarc=none; spf=none (imf05.hostedemail.com: domain of BATV+3d14ed7283e31597757f+7108+infradead.org+hch@bombadil.srs.infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=BATV+3d14ed7283e31597757f+7108+infradead.org+hch@bombadil.srs.infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1675834005; a=rsa-sha256; cv=none; b=vhomfAkKbGJ5UPQe71Kkcqay5nc0ZbLaSc3M66wzRnlRNzoO/HxbnnITNpx+gxL18Mgg/i mRkM2sGgy9t0hx7fAUQZKMdcCeQatRo+AaP2thO/Gew1COJeI0mc2cj3SLhQsWj0YScrur JbXUjYbwPr9GUOtxosFqF5FJNuVOzfk= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; 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=ARUk2d+sCZWHwDfzIfVXqPEuRg8EkLiwolIcbG+SXl8=; b=dGBxZ03m2u5KOBfx4zSZmaWzCu QnYmO5ClWXP9xHv1kOW0PfgPS08zK9C2Mn2bDiYwzV6CxcVPImWxf0QGCxmUFoPTmGZi2Tp6kyQCF I0qaDRpYccC/RTV8kgZyTmRsfA2bA8XyNibSBOIEG5YqSLlTitmjCQU/rajwpGNSlyHCkEjhIjHLJ j6wHZuzTx+DkFrfO5cSuSrG+WRvpnlmOAYhu2kl+nFTter83HvV0jGP8B0DOlV7NWcrhUIIfQBY6N gpUpImp5sAyneCLq3jYTLKNq42YiMiMZKYaNXe0A/gOpX4CyoUCZDnRQYuDjCB+dvwjIqWHxUSK5P +CCciz5g==; Received: from hch by bombadil.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1pPcyC-00E6v3-2u; Wed, 08 Feb 2023 05:26:12 +0000 Date: Tue, 7 Feb 2023 21:26:12 -0800 From: Christoph Hellwig To: David Howells Cc: Jens Axboe , Al Viro , Christoph Hellwig , Matthew Wilcox , Jan Kara , Jeff Layton , David Hildenbrand , Jason Gunthorpe , Logan Gunthorpe , Hillf Danton , linux-fsdevel@vger.kernel.org, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, syzbot+a440341a59e3b7142895@syzkaller.appspotmail.com, Christoph Hellwig , John Hubbard Subject: Re: [PATCH v12 01/10] vfs, iomap: Fix generic_file_splice_read() to avoid reversion of ITER_PIPE Message-ID: References: <20230207171305.3716974-1-dhowells@redhat.com> <20230207171305.3716974-2-dhowells@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230207171305.3716974-2-dhowells@redhat.com> X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 15A7E100009 X-Stat-Signature: rywrymxdbirsdp8cmrbboknb1ss8ua7e X-HE-Tag: 1675834004-414558 X-HE-Meta: U2FsdGVkX1/4HNLAO4kjTzv5x8lx+eJR8WWjaw/hPN8oaNkpZijoe96xT7qALXIHuohaqDTFW1KfiWqaFXUVtbawME9q+gwCbMEh2oJuHYldO6LiSbn5uu1aCN/gomtd3Xzfwawby0HgbHuHPegyM4r4AF/p4LF6FvsAof7s/g7llelwEvdLz8DFasKwtXyBL1htwclNBmKoANxExKCKt0eQJy64Fb0xPdStoxvkv1Y5fDsfARTsarqLvjQTQKBNcMSZ5eIVbURiatKW5NjfjBaBjV45wxDhPafvkJ3zEp6jVEcRxq+/mvj0x4Y3oFXruw09Xtw+yJViZ6Z8XlXgkqChYRrPIYcewZ9aiZKSuJf8qYIN0/tPoAfDHUVDIX0JW4YFOZAr1rHhu1OKzRWvc2owgIxa+r/pg/+DXqQxfE1Pj5+v5yC4H9bCD8XK+F5xVfZXvimyFngXhIWaJxO7jqMiKazjwwYD//h0nHewmuXxSNhUp/Hrkx+0JJUbcGX9R+K+Wf5YciScCU8R/THIbQDBvPpFVzMAC34Pe9ctg2iyugvGuTV0S2mQG3S5dKDNU9oulRfKrpoVZe3nrbOlYKHED7/vDFI39j72Bq8z8yZ2bwHN3RnSo38Sj7akbOhp5zIrvN3Ubn7F9Ef0ldTlEe8KW4rA7732Gq0dhMBl8/0OfGIJbbK7fWya9fSvgvzCqUiGTXc0AKw9kxJHxde7nrtlK5sustfMroVT7YJcHODKsDW91Ws1g2btgHA6lyeZ5Bsqr+zBAGxqTbyovsO2w4ENN3cLfwkumQotRNMIGWHuBb0rCa48iALuuIX95RjqLdATuHtGUFOZC80bwEKll90RdVd3YLk2Ydo4vRHZ+nyS3U61vm2VkixO6E7B7WyqrlZ8JCfxZ9uxv6+RSD1uQf/OAMUjKNcXiGU0yIeRnVXqfn2QnFUwMXzCPpiaz8nxsQyh3HZNG/Ysxw4kXYp N5JO8/Oe 9uYKfN/BjWE19U0mDLz0e7Hjwz77aoWbMG6ZPUOBsf8AsbxfbhYLAiLE1DbiW+G2wlGRw/MTx70Uxt6aNT7Ga97ViIi1SUvMcfS8PnFXiqeK83OG13f+tfXW9YmAfoLFSzL+RS7rDk+n+vahqHcMgZv6jf48ayCzWMc2BhECxQgTGFtmCgw/jmEBLV7g1xy8/h8sSG4xy421jQ8lzYyrYnMK11IsU2yZ/WmQaJbBYGOa2+ISEJi0XzpKpotRmMwbRD0ubJgQ0DTYiga2DbmyC5cF5dMCxcEfCAiyNNWF/ZXyRaFNA4oAKB5nAM3bwV3hs5/6z2FNqAAYqWSXzZut/KkLp7I+GB6iRISSujj8f5HYpPegutDP0/DgU5k1AgYZ58QfMsVSZmjarxUYderGOaoIjrUNxWQNgN7lG4vTjbNcq6HKzThRGVE0GEJny7x5VSTxjItyCnFLyHNn+an1HlA82Ua4sdznbWEHaZfSGcY27xWWk4Y8Qfw27LR0+8z0ihcTIQyEvkmgTMomT45i+TVJUWFxWEBC33Qw10yXVfqEY6mQ= 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: Subject nitpick: this does not ouch iomap at all. > Fix this by replacing the use of an ITER_PIPE iterator with an ITER_BVEC > iterator for which reversion won't free the buffers. Bulk allocate all the > buffers we think we're going to use in advance, do the read synchronously > and only then trim the buffer down. The pages we did use get pushed into > the pipe. > > This is more efficient by virtue of doing a bulk page allocation, but > slightly less efficient by ignoring any partial page in the pipe. For the usual case of a buffered read into the iter, this completely changes the semantics: - before the pagecache pages just grew a new reference and were added to the pipe buffer, and I/O was done without an extra copy - with this patch you always allocate an extra set of pages for the pipe and copy to it So I very much doubt this makes anything more efficient, and I don't think we can just do it. We'll have to fix reverting of pipe buffers, just as I already pointed out in your cifs series that tries to play the same game.