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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id F3ED2C0502E for ; Sun, 28 Aug 2022 00:12:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231583AbiH1AM1 (ORCPT ); Sat, 27 Aug 2022 20:12:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49964 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229884AbiH1AMX (ORCPT ); Sat, 27 Aug 2022 20:12:23 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B86931AD83; Sat, 27 Aug 2022 17:12:22 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 1F66160EFF; Sun, 28 Aug 2022 00:12:22 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E8E9FC433C1; Sun, 28 Aug 2022 00:12:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1661645541; bh=pKUoaQ9EcjJggSkeqY7Olvpsm3d5dLwR/wl/BB+U5g8=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=TMpAOVjbK9E3fz0ooSfvWL268lrlX3TxQoLp4an1G52borowaZOgsBN4HTAMzlSZh n/go2Bd+b/Q7boVjtKX7sXTsnaPBkr/ToNRad4gXMu3cYY9wSWwQXUZhWqQKOjm5Zr f0vMAg/QZlaEUyt8kktBXmYn5/Sp4RnqSXTXzcwA= Date: Sat, 27 Aug 2022 17:12:20 -0700 From: Andrew Morton To: John Hubbard Cc: Jens Axboe , Alexander Viro , Miklos Szeredi , Christoph Hellwig , "Darrick J . Wong" , Trond Myklebust , Anna Schumaker , Jan Kara , Logan Gunthorpe , linux-block@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-xfs@vger.kernel.org, linux-nfs@vger.kernel.org, linux-mm@kvack.org, LKML Subject: Re: [PATCH 2/6] block: add dio_w_*() wrappers for pin, unpin user pages Message-Id: <20220827171220.fa2f21f6b22c6d3047857381@linux-foundation.org> In-Reply-To: <4c6903d4-0612-5097-0005-4a9420890826@nvidia.com> References: <20220827083607.2345453-1-jhubbard@nvidia.com> <20220827083607.2345453-3-jhubbard@nvidia.com> <20220827152745.3dcd05e98b3a4383af650a72@linux-foundation.org> <4c6903d4-0612-5097-0005-4a9420890826@nvidia.com> X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.33; x86_64-redhat-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, 27 Aug 2022 16:59:32 -0700 John Hubbard wrote: > Anyway, I'll change my patch locally for now, to this: > > static inline void dio_w_unpin_user_pages(struct page **pages, > unsigned long npages) > { > /* Careful, release_pages() uses a smaller integer type for npages: */ > if (WARN_ON_ONCE(npages > (unsigned long)INT_MAX)) > return; > > release_pages(pages, (int)npages); > } Well, it might be slower. release_pages() has a ton of fluff. As mentioned, the above might be faster if the pages tend to have page_count()==1??