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 69F8BC3DA41 for ; Wed, 21 Jun 2023 17:50:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0D1018D0003; Wed, 21 Jun 2023 13:50:35 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0817D8D0002; Wed, 21 Jun 2023 13:50:35 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E8BE38D0003; Wed, 21 Jun 2023 13:50:34 -0400 (EDT) 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 DAF148D0002 for ; Wed, 21 Jun 2023 13:50:34 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id B75E2160753 for ; Wed, 21 Jun 2023 17:50:34 +0000 (UTC) X-FDA: 80927494788.05.6F9F05E Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf14.hostedemail.com (Postfix) with ESMTP id E5CB0100004 for ; Wed, 21 Jun 2023 17:50:32 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="AYva0/5W"; spf=pass (imf14.hostedemail.com: domain of cel@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=cel@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1687369833; a=rsa-sha256; cv=none; b=tBKAOjYYUhj16ZvnRmhr2Ef0O8SkGYppQKhmGaC30QFvNOAC4I6d517uhzIEuiarbybYhk FWOkOUvvxgEWJymR24YPAgc7JsWeKRqKq9brgj6jXTmFYt32nn+Lkbh25qd+zQ3h8OtiET kbg082g/p5oocCoKmOWNNGC+Pjqnf3w= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="AYva0/5W"; spf=pass (imf14.hostedemail.com: domain of cel@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=cel@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1687369833; 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=1zYHySk5lXOosPV+WgqH8of/zn1IIYy8FxH6K6KHRuU=; b=8cvv1/yyiKix941CtosU9DE3dK56buo0jNube+moCziZZtwRtB5wLQeufiwdXC60EF9jSt 3r1xqbXEvwzPccUhwcxoyVNenLNbQjzLk5Mp2nL5potL9Mmh+a2VUsY64uc1gZlsydG9lk YSqbPsImmrUdOvHfvWCwCxppFlJiZ8Y= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id D6E046167F; Wed, 21 Jun 2023 17:50:31 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id DF744C433CC; Wed, 21 Jun 2023 17:50:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1687369831; bh=cIQE0tqYqde1wQS9/IcLrDtGE0ZwQxHO+6tde8cVt4E=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=AYva0/5W7t0NxIgVeP53vFnVTqwMOS59neZkd9E2R3q/WoNeHdWpSaEZrCBAgnNvZ OZblVRAyPgDiw5WctBsoo9L3Arvz5mqxj7q/DcmLR0zYNJXbXUEhK4nW6hnlL0Kn0K EG2tHOVn/uhj4Fgy8ml/PRX+0nixFAdEnAy9IIL8Ej9UeYnn8/cXVNjinfbHefzGrh FwmwzO5ItB8xnxbnZgy+N/5CBOVLiqLQUXvXdwWvd/RUOaHknzUqB+5I1T8bCU4cnX 4smek8cmnOm6kSHHkKKJui4WQ3aLMV26JdX/MTrOTAtfahzYcKu+6h09EanF26OCHN cIjisblPWM5vQ== Date: Wed, 21 Jun 2023 13:50:28 -0400 From: Chuck Lever To: "Matthew Wilcox (Oracle)" Cc: linux-mm@kvack.org, Andrew Morton , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, intel-gfx@lists.freedesktop.org, linux-afs@lists.infradead.org, linux-nfs@vger.kernel.org, linux-fsdevel@vger.kernel.org, netdev@vger.kernel.org Subject: Re: [PATCH 09/13] net: Convert sunrpc from pagevec to folio_batch Message-ID: References: <20230621164557.3510324-1-willy@infradead.org> <20230621164557.3510324-10-willy@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230621164557.3510324-10-willy@infradead.org> X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: E5CB0100004 X-Stat-Signature: w1tyzsdefwu4w4es5tha9uqnsq9hxnud X-Rspam-User: X-HE-Tag: 1687369832-587223 X-HE-Meta: U2FsdGVkX184Qeeo2yOJICzp7iXCV3+mUnwVjKivSw+MeEcXhiPVRArH+Ujau18l19MSZpbHZ6B7E3SFA/OV+uUNMzqV+Ssr0vTBphcCvgLEaCkBv5V/dTV2xCHnwXk5KoQNn+X9mHGKx/gAWIeB2STvmDvhqJ+e92PN/G06C4Lw5GtQu94BwaOQcbakenZN/zYMVbINI05vFAMueCjXcz3svkQ3e3f4x7dGRyyXEVVBJihWshr+Vh63SWuD3JSzErYm9t7yWP+WyZ+1yq8ON/Jy97Adu1CsvsR359IKjpImFUJ9FUPXBSDnlMA8JcRQFpkWFV3R2yUcCWZu+QKIDQXPazADxfXQpNM7O97ipt9Vt7QkXpbcnrEKbu3sz1VX8mWg03ZgMz/P3sozHi/75Nek34jeigDny54uvuDyCAHmrCUmPOpcXsJuQFF3igYchEjoV89y7VtkJDV+BEnl9XaoI32n72IUDzz5QMv4mZV4sORH8YAqvy7xPDGzJv/wJqvEwRrE6mXV/wdrOIK4PyU3W+jJHHcmAOes166wiy8fomrt4D0AUQW42+HHF/n5uBiSo12DJrdYRjR05HnW09S6JdrODNe0llkk5m0qw9h/wD/wOLXY1nBhRzutAQ5dsVxYCUANQd5wRa0vHmcAD4TaJsXFopLXqaBwhftHDG/ZmjpQgo5Kr8XPgigIb+gMvWtJsA3PaSIw6DhgZUwryqUulWSU/jA4brfDeuFovQ7hBt1cHfkvqhKRzBh7BnwpyAHOKnZGwMiixf5SqpJgDZuyuVBe+skJTVg/fVsHSSm5ykWj8VOCvkg1IDlsSbFSjO9QeSNfuOSW/jN031L2w+/C04/51D6ryPfrhomZ5M3F3UZ+nhMcCt4DgWLCU1RA95TJWfawol0nNzgRVAn/cct+EfF7mguJb1L1Z/qgKU9qaOauW5ly1Z6JslvT15MYtaUhHWqwNgq5xsCLHx3 S26D4M7k P0bXPSB+cgurTVHuc8UNZm04YVp38Rz2DLD9gCfYvnQWelv8E1oSu/ZxMURFIUOR7Ob4MuQ9EK7K+PeDxYZ41ps4+tBijhUzirfYg+BG5fElASE+zVjdXAMTjij7sCWt9B8ooNmbDCR68PMUMrq2n9+Un38cj85TE6E2CP9EOYoOAUn+3a3w/IUGWOzsVyIiLk+8GwbzNoX5gBCWrw6DfVleRhTMNXW/DjNcy73IPDSNJCCA+hzeJ/onLRExu5ELGVP58JxbwmTmO7LumyHz+THq9vLYo5cZuwMFhdKYkNtSkUpYNkTgBZr5VZvi+6w430xF/5gUM1/1u1Bewzwja/3VPqG4apbMiK+6YJrFp8cpPc5/Hb0KhHW4+Xw== 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: On Wed, Jun 21, 2023 at 05:45:53PM +0100, Matthew Wilcox (Oracle) wrote: > Remove the last usage of pagevecs. There is a slight change here; we > now free the folio_batch as soon as it fills up instead of freeing the > folio_batch when we try to add a page to a full batch. This should have > no effect in practice. > > Signed-off-by: Matthew Wilcox (Oracle) I don't yet have visibility into the folio_batch_* helpers, but this looks like a wholly mechanical replacement of pagevec. LGTM. I assume this is going to be merged via another tree, not nfsd-next, so: Acked-by: Chuck Lever > --- > include/linux/sunrpc/svc.h | 2 +- > net/sunrpc/svc.c | 10 +++++----- > 2 files changed, 6 insertions(+), 6 deletions(-) > > diff --git a/include/linux/sunrpc/svc.h b/include/linux/sunrpc/svc.h > index c2807e301790..f8751118c122 100644 > --- a/include/linux/sunrpc/svc.h > +++ b/include/linux/sunrpc/svc.h > @@ -222,7 +222,7 @@ struct svc_rqst { > struct page * *rq_next_page; /* next reply page to use */ > struct page * *rq_page_end; /* one past the last page */ > > - struct pagevec rq_pvec; > + struct folio_batch rq_fbatch; > struct kvec rq_vec[RPCSVC_MAXPAGES]; /* generally useful.. */ > struct bio_vec rq_bvec[RPCSVC_MAXPAGES]; > > diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c > index e7c101290425..587811a002c9 100644 > --- a/net/sunrpc/svc.c > +++ b/net/sunrpc/svc.c > @@ -640,7 +640,7 @@ svc_rqst_alloc(struct svc_serv *serv, struct svc_pool *pool, int node) > if (!rqstp) > return rqstp; > > - pagevec_init(&rqstp->rq_pvec); > + folio_batch_init(&rqstp->rq_fbatch); > > __set_bit(RQ_BUSY, &rqstp->rq_flags); > rqstp->rq_server = serv; > @@ -851,9 +851,9 @@ bool svc_rqst_replace_page(struct svc_rqst *rqstp, struct page *page) > } > > if (*rqstp->rq_next_page) { > - if (!pagevec_space(&rqstp->rq_pvec)) > - __pagevec_release(&rqstp->rq_pvec); > - pagevec_add(&rqstp->rq_pvec, *rqstp->rq_next_page); > + if (!folio_batch_add(&rqstp->rq_fbatch, > + page_folio(*rqstp->rq_next_page))) > + __folio_batch_release(&rqstp->rq_fbatch); > } > > get_page(page); > @@ -887,7 +887,7 @@ void svc_rqst_release_pages(struct svc_rqst *rqstp) > void > svc_rqst_free(struct svc_rqst *rqstp) > { > - pagevec_release(&rqstp->rq_pvec); > + folio_batch_release(&rqstp->rq_fbatch); > svc_release_buffer(rqstp); > if (rqstp->rq_scratch_page) > put_page(rqstp->rq_scratch_page); > -- > 2.39.2 >