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 7EA17C636D7 for ; Sat, 18 Feb 2023 09:25:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B07B66B0073; Sat, 18 Feb 2023 04:25:24 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id AB8796B0074; Sat, 18 Feb 2023 04:25:24 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 97ED96B0075; Sat, 18 Feb 2023 04:25:24 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 86CD26B0073 for ; Sat, 18 Feb 2023 04:25:24 -0500 (EST) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 51A2D140E91 for ; Sat, 18 Feb 2023 09:25:24 +0000 (UTC) X-FDA: 80479879368.29.99E676E Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf28.hostedemail.com (Postfix) with ESMTP id 843B8C0002 for ; Sat, 18 Feb 2023 09:25:22 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=V8w1F9bw; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf28.hostedemail.com: domain of dhowells@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=dhowells@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1676712322; 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=pdGdALM3vDuQShb1BnFFi6PogQZvGQG8yp/KLX/QzU0=; b=fJ2t0fm5c9Txq57OF7Ly5T8fWfsM4osGKIXQzs0vrIXtrS1d7ClZ1MoXsvCjEAcjRXNtQp MbPdnPnqo75f1UuzwqRlE7+C1M8GAKMsddWf2Z4Ij52p7u5YjWQIwELgA1ncr5XInz7urR +KfdBdPdpIciJtq8PpuPWpB2dB5hR/g= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=V8w1F9bw; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf28.hostedemail.com: domain of dhowells@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=dhowells@redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1676712322; a=rsa-sha256; cv=none; b=rvKqL3TKmqZslMyMYowWfg0G+XPLfqWjmznGnjPpMxj9UkcoonPn4Utrw6ePps7OiMYE6I /0TuroEbGXbSbH1Us4DO+phmt9KI9Uc+dzjD3qHRF6qcZwEUCudm2V46gQ3SHaU4JnVwop 4S1ev2d2ENuWyd9looDRP4jf0EQ5tdQ= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1676712321; h=from:from:reply-to:subject:subject: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=pdGdALM3vDuQShb1BnFFi6PogQZvGQG8yp/KLX/QzU0=; b=V8w1F9bwbXIvYKkh7BihF9nlaG89JPDvWZ+7Eqj8LpMLMvx+cfOibRcCb85HCXR26vr1mm rx974xBzA0wD0WedSK0doKVhiosNGR46v191dK1G4XFi55HpsrT8yymeGwXUXdw7Omfoeu kOP3dko6CB+bEBQ4fYkTf/kIpIYoCCw= Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-561-Ju0ujkZFOMmZjdPqfTMn8g-1; Sat, 18 Feb 2023 04:25:17 -0500 X-MC-Unique: Ju0ujkZFOMmZjdPqfTMn8g-1 Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 69C491C05B0F; Sat, 18 Feb 2023 09:25:16 +0000 (UTC) Received: from warthog.procyon.org.uk (unknown [10.33.36.24]) by smtp.corp.redhat.com (Postfix) with ESMTP id 22046492B11; Sat, 18 Feb 2023 09:25:07 +0000 (UTC) Organization: Red Hat UK Ltd. Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod Street, Windsor, Berkshire, SI4 1TE, United Kingdom. Registered in England and Wales under Company Registration No. 3798903 From: David Howells In-Reply-To: References: <20230214171330.2722188-1-dhowells@redhat.com> <20230214171330.2722188-3-dhowells@redhat.com> To: Ming Lei Cc: dhowells@redhat.com, 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, Christoph Hellwig , John Hubbard Subject: Re: [PATCH v14 02/17] splice: Add a func to do a splice from a buffered file without ITER_PIPE MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <1085803.1676712307.1@warthog.procyon.org.uk> Date: Sat, 18 Feb 2023 09:25:07 +0000 Message-ID: <1085804.1676712307@warthog.procyon.org.uk> X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9 X-Rspamd-Queue-Id: 843B8C0002 X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: az4555cqbakimt6kmkb4pc9d5xytss8r X-HE-Tag: 1676712322-362850 X-HE-Meta: U2FsdGVkX1+H2C1FCqTHW1ZX8w8ZgJ2Ne/++GVy51c0NLBL3AXx64gR/S8LdHOcoo5hq07uEkLPBRewgOTxTPceIX3L2BxluM3nrFQfnq3AMbUbNn2b4Fj1ecznLSDf9y+iWB7PiTxYqetKJCQmaLc3dczkHQvjf11SwCSM6CLTNtiG1OQeO3sLTV7nnGCDS3MJZ3wUbUFucM4QDtOil8xpWj9EpHKmADWHPmRLLSfCz5VK7nB9oedks7qovA6tRNcpvBn8+AMZlRTtMLYerdMdpjfwiEvb6pP9urJo7duDBao77QgPercDmna1VDmqC7say4qGrLNry/27kyuIn8ZhVmMzJ5CZt6yQ2sP2YfaRnkyHfQ/rwlw6xTq9C2Bm2qciKuxQn9ZgEtj9Afw7zdZQt4c5NW9/jxWmPobIb0lQ2ws0TVBblF30XnDn/O/SErWQuMmaCKWVBD1+4NAQw7kwmrotJeNXKYwGeFCP+9U3lanuNig1tWH2GhX7leLgqFR5Ug5/l3TcM8LouV27eA6hM3rTnLdUEFARgDAmu9puAtMoBOcc2acei3DFkoUqFq6A3wE24tHRkkpqvRrmYv/x9vexYXQNRGZ2oRUC4zRUCMpB1vP2YS8ZdQ6QoRWE7Hw9OPyMS6EbmV4pUwWq+m5ME8PrJdybT22rtZDmY7YDZLBIlREtosn3McHXkbBSpcT/wnyL6ubudgheIkqJEB3kde3cEVOBsFqH85BHmAoJVJPGDiQUtRt8UgMTrl7HjK50nz0FYY7K1WaMxbRS0z/euVwP/FRj8+SAzW51BXcQw7mPCW0VgGz6AOLhxhr8zaxbo0ADWtkv46IOrzJwGtv34ORm+ip3CtoiF6CymbaB84TxOPwNViyiKAZNwblqSy0THm3BAOMhuoIuSUUCdxhC9czbrpAbJ44o5X/RVYNlyHWASeuDi7gGI+6kxXh/pZaPfIjWmaQJLk+l5Z+j WljFGjkV 0H9Jxzej+ND+n6UmKLloIEpbLK3KmUGG5/5MK5Wsu2sPfWKE9oJPtblkznNLE0Sbj4IJbZQkq/FJ9E5Cwhx2QHikenhl1vQpV1e9nIcrhuRAtiYYqGf8y5Rq2yeheDbmvUO6W/UxMlnWXfBBke5eY2m0ikpdgniLB0HHJfFiq65JiB6pBAlQgzLvfNa6J2jRn+L2D1pB/Lmc6noad0sBrPJYzNGKZMwgIyYdiu/GeR6Z791x/r/SpE5a3B5dYj6Je15K3cAwoLVRAKETBOTgCJN6EImtMc8SECcTy/D839kej+F+PLH0dHhT9Lg== 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: Ming Lei wrote: > > + /* Work out how much data we can actually add into the pipe */ > > + used = pipe_occupancy(pipe->head, pipe->tail); > > + npages = max_t(ssize_t, pipe->max_usage - used, 0); > > + len = min_t(size_t, len, npages * PAGE_SIZE); > > Do we need to consider offset in 1st page here? Well, it won't break since we check further on that we don't overrun the ring, but it's probably a bit more efficient to subtract the offset into the page at this point. That said, we don't know how big the first folio is yet, though I'm not sure if that matters. David