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 7ACE4C636D4 for ; Mon, 13 Feb 2023 09:59:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D39576B0073; Mon, 13 Feb 2023 04:59:33 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id CC24C6B0074; Mon, 13 Feb 2023 04:59:33 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B62246B0075; Mon, 13 Feb 2023 04:59:33 -0500 (EST) 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 A255A6B0073 for ; Mon, 13 Feb 2023 04:59:33 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 6D24EABFF4 for ; Mon, 13 Feb 2023 09:59:33 +0000 (UTC) X-FDA: 80461821426.07.0E2ABD7 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) by imf06.hostedemail.com (Postfix) with ESMTP id B9B98180009 for ; Mon, 13 Feb 2023 09:59:31 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b=GFsr9EP5; spf=none (imf06.hostedemail.com: domain of BATV+b43816e12a84725ed160+7113+infradead.org+hch@bombadil.srs.infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=BATV+b43816e12a84725ed160+7113+infradead.org+hch@bombadil.srs.infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1676282371; a=rsa-sha256; cv=none; b=1zXAXsBCDgMSg3Y5K4dbpmJSXkD7q+1r9wwUBM7G7wdxKfXxa9HKgEh/lUDNPcuNJQoaP/ 3DGYaDq2j3YlN/G7DkMBVBBXnHCyXWEr13nftQWiCl7sVSAXOaiIyrBhnY9UHWVp7J1b4T z1zsvppygZPyt60klGYG0zcseCm53TI= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b=GFsr9EP5; spf=none (imf06.hostedemail.com: domain of BATV+b43816e12a84725ed160+7113+infradead.org+hch@bombadil.srs.infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=BATV+b43816e12a84725ed160+7113+infradead.org+hch@bombadil.srs.infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1676282371; 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=G6mJNTFdXCBiSQbKIesKHVwFHut27KlLdMYFyWKHjLI=; b=G5d54zoNEnVCLANXzxWgji/+Zl/foPau515J5DzhDVPz23Sj7AVfU0R95iCjPpAt7quMje M9SW1ZUeiNSeTYfM+UQBEA/I2zar/Sv7zsQc2YeCHddwfGcBq2KRWI4YzMRD4dRLNnxC+w wMH7i1719F5TnG5oj6Ekmn/4qBB4NVM= 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=G6mJNTFdXCBiSQbKIesKHVwFHut27KlLdMYFyWKHjLI=; b=GFsr9EP5SXoHm3PT01WesMHX47 dG7OFQDnqoDEG0bMvJ2a8doyk45mGQU++SFLVLIMis489aYd9Z0G5fcpCKbCghC03r+yBUxJkeScx 1BoEhQmkMYZQ/P145XmBtEi5Hf9PdqTT434vCiaiNGnp2SORq5Ss5UoXfedn9hApm1+yBOANC9SaS x7G24MuY3jgBc13MBEEw0brXC1bMCNIaz56stDgVpBIsaGkMjydvkHkSzSg/2U0jO7dLECe14mE7k iHQ9gJqOAJP/n6NAD+mjWKK+mw23d5f3CMgMGvhvkX7yF17UalRr6XH5uC4k2BG6DSZekej1805EE RGxF4g2g==; Received: from hch by bombadil.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1pRVcO-00E0EX-DP; Mon, 13 Feb 2023 09:59:28 +0000 Date: Mon, 13 Feb 2023 01:59:28 -0800 From: Christoph Hellwig To: Jan Kara Cc: linux-fsdevel@vger.kernel.org, linux-block@vger.kernel.org, linux-mm@kvack.org, John Hubbard , David Howells , David Hildenbrand Subject: Re: [PATCH 4/5] block: Add support for bouncing pinned pages Message-ID: References: <20230209121046.25360-1-jack@suse.cz> <20230209123206.3548-4-jack@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230209123206.3548-4-jack@suse.cz> X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html X-Rspam-User: X-Rspamd-Queue-Id: B9B98180009 X-Rspamd-Server: rspam01 X-Stat-Signature: ywgk4jttzn1bss8rtbuxbw9koqr6674h X-HE-Tag: 1676282371-291455 X-HE-Meta: U2FsdGVkX198mX4ESk69qyjYhgL9vl7/d30zjcNWnRQBcTlNVfm2eOwl5xTiX0/+Ke3B5CZWWkIFNGphc6wqu3zZKnGjmHeHcuHReSzierHH6C0rytIOUd0LtqfA+NTRagx6XGLfLT93JZ5sOundagguSI0/dBnBwY+BalH+ylI0DFdx/Y/jwMKCbOU+bAB14LbJo+DfQUGFYhanoqJ0UOFNbOLu7DZMB66XbT7mg1/vRvKMIQzeD6gzLBJS3tVpRhHoXgFL/QhNx5VaGeNCDiz6Pmpnj+D2W2oeTsoMiw0hWBxiyGNyBX/EyxHfthB+xJxtJZnT8e3TzYv/NgFUXp1FdXFqImgmW3ycRN3d6TkqZAEnEz01FAbRHQT4qmeeGVx+plj5APcjXSPzR0xLTZ/Ipjqkw36Uz86tvJq6TUxcb6aZ17d6bdNXXnpjbFTWl37XvkGQlV5bNYTPxaxhpnEw/u9EOdDLJmRlQrP4uXWY+VyMxc9rpAsmOBzP4cLnzyjcIH+cGwTc5h9Hnczw3L7eUKuEtxvLeNG19m4+Wl0XcGsTnnpMeZ5hXwRNtJLV/0OqddXbGV1AM1cUfIMtV35Phumys56AGzwuCuGKO1+5MCSmur53LsOSFGkzNpjo5Lnwz9O6dwFw8iytAzLo9C9jaja8g/PdLIjNugTq4mviRgUMD2Qj3FXIMBo8ZBq2CzGnPiY/tY3UjQTf3oeVIHRQ8N/8fB1MGXJl08Uhy0ssJTqCibXjVf6d0u62ptbkwc3w7sGvXAfr7K71Arh+mFEiBnLaqsWMsowX0YdN3hCv+bnF32acNqTaekRpyl/U/uPubhf5T10w+4IIZnxbYdaXF5qOAmzUPGxgbPrtYbs3QkIfAIB27vSdMBGs25afuJ/THVAw3gOSQy4oGKRNmZhYeD2TVJ8/WQ4qkUd+wT0ff50/hCRVNC0hXsD5wLhHOWcJnQOfpylZVn1kvyL 01vp79fN 2e0yYd2iDCw9qBG8qFYSvrF4Ckes3XnYuf6a/wn+2/0W/Pe1WAnq5Mk5RKKIPFTPmPqaqNvGxjjUbb7wpQp8rwEsUKWdb7ocx2M5F/rz0lLKJ4KlFFjEa2PBadojyJJftQFtb6wSfLAXP4MGNZ4/05JXedq37WT8t0jSHa0lO9aTpQTEgP+I/19e/XaD+Z/2QG6wakYNdZKgjgAq8t2ZtDLMbjHqmLgmmx9zezqwnIsmAv/yaCCttwAJo5wr1zrwobXMAv7xw6VbBmtB1+f/yYK+t7v4XZ8x0OGAqFGOOIXZumKAESabXIcSJQ8uY6mBghjJLGTOEHsoQH1xI47brtZUpAXqwR5KIZurBXCuxLcz8cdXlAKh1tL5NbXGKca++2RV2nY8i0+ulXqaAUm4GAE9ylw== 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: Eww. The block bounc code really needs to go away, so a new user makes me very unhappy. But independent of that I don't think this is enough anyway. Just copying the data out into a new page in the block layer doesn't solve the problem that this page needs to be tracked as dirtied for fs accounting. e.g. every time we write this copy it needs space allocated for COW file systems. Which brings me back to if and when we do writeback for pinned page. I don't think doing any I/O for short term pins like direct I/O make sense. These pins are defined to be unpinned after I/O completes, so we might as well just wait for the unpin instead of doing anything complicated. Long term pins are more troublesome, but I really wonder what the defined semantics for data integrity writeback like fsync on them is to start with as the content is very much undefined. Should an fsync on a (partially) long term pinned file simplfy fail? It's not like we can win in that scenario.