Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp34483977rwd; Sun, 9 Jul 2023 13:06:41 -0700 (PDT) X-Google-Smtp-Source: APBJJlGQ6Aww5IiJadw0dO25lWTQffF+c0SpB3sFtpge3U3MQr19t6C9Gv+vXmTGp/KVeyWMk9Zb X-Received: by 2002:a5d:460c:0:b0:314:131b:d69d with SMTP id t12-20020a5d460c000000b00314131bd69dmr8671268wrq.24.1688933201115; Sun, 09 Jul 2023 13:06:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1688933201; cv=none; d=google.com; s=arc-20160816; b=neK6q0ZId8ajRfWSXTgBC1BGJcXQgq0/Oi3fihdYVH41OrczY3DOkbsqv5lQAoTcsB 8s+GPTPunWbDEXyk7f8Oo5TcTSTd/8rHjY1qM6MEHFrTV4ZR0Q+fHJsRg2hBL2BntpXe MPkAH23JgSixWLov/ed6SahgvMOrGic3yPL6JRuoIhNCUuD/yF5T7VwZXAZc9nd/P66i +EJB4QHmsyevEXYsVHxkWlhjJNyY4/75krfAsqGkQGCu4zAa2Vpat0cRHDOcEtNTDVir +3zNhYWqhi6zKQL7djEwG/LSoCEdowHwbgPqL+NlqAF8AurT5eWWc0y+XxLR2sdsGdW9 vlSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:message-id:date:cc:to:from:subject:dkim-signature; bh=WlSZW2udZiKRk3Fltoj1KuAKSsJ4en6z3VirP2ElRWQ=; fh=ElIV4EGFWkX2PIK7lNeTruK6rPntf/UTx+gWjbMZ/Zc=; b=r5+q7W8N9k7rGGCiF0SZ20CW7J9STpMrp57ksJaW3r6pzyKvK504MU2SWTxOX0ZIDy 2pt6/FWyQZbcJQd6lEZFImgdnnn8YYKQy3FpMgEyqzeIy9+J9wxhrxPE6j538Xn325dj pjbKhUGUkzTVmo0BmEf6N3H40ylGfWGqSe0Kw8zIVXhrZ81tsbzFtyQMiq/XnVOTOlo9 O1TzKdfkHP30QpEkfdhC65WPeiYgoVLPSXIOxGpwrUrnrNy2LcdsRn2SjDKBZE0HOO75 cHlBAHN+81TNqKdBHzSR1e9GcwrTjLqF8trcoNHAhkTjzW5S95HWb/VKcE4+1ABbK6WG PwWQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=srjrCR1g; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ba7-20020a0564021ac700b0051e290cf12csi6935970edb.407.2023.07.09.13.06.04; Sun, 09 Jul 2023 13:06:41 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=srjrCR1g; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229481AbjGIUE4 (ORCPT + 99 others); Sun, 9 Jul 2023 16:04:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51830 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229441AbjGIUEz (ORCPT ); Sun, 9 Jul 2023 16:04:55 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1BB88FE for ; Sun, 9 Jul 2023 13:04:55 -0700 (PDT) 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 9D57860C2D for ; Sun, 9 Jul 2023 20:04:54 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id AD663C433C7; Sun, 9 Jul 2023 20:04:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1688933093; bh=iI3eT2ljcPjepXDv1QojtHWoc+EcGPmWvmwVPggOY90=; h=Subject:From:To:Cc:Date:From; b=srjrCR1gAXlSlJdQgv+QutBgJyVENnXJeakCj/okPk41OF/gtokN7fGROmEc4gFLC OzkTOpULFDvCf3Dgm+h/OXaWfjAyWzvAq1AAxZnRD1y0C4mPr0XJjgJfctOuxc1WG5 vFpSZtXIZi2JOmGGsEhB4ksmOfuu9v5oQqTMb4ikpo67zvkcfGLJJInYe5izbsG3Il jRH1xyEzr1IqjlmiXQo07ltaSpe1hqYRT4TyEEfO/fzhhDHlz4QprVQCbRGY8ZSF5z cwC4k+6XAZe0ejUhqAPvOz4by3GOhpL59lYQ44JNBrIxFxVH5o0hxc2n7HxN5IQm5j mPQF3VQib5TKw== Subject: [PATCH RFC 0/4] Send RPC-on-TCP with one sock_sendmsg() call From: Chuck Lever To: linux-nfs@vger.kernel.org Cc: Chuck Lever , David Howells , dhowells@redhat.com Date: Sun, 09 Jul 2023 16:04:52 -0400 Message-ID: <168893265677.1949.1632048925203798962.stgit@manet.1015granger.net> User-Agent: StGit/1.5 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org After some discussion with David Howells at LSF/MM 2023, we arrived at a plan to use a single sock_sendmsg() call for transmitting an RPC message on socket-based transports. This is an initial part of the transition to support handling folios with file content, but it has scalability benefits as well. Comments, suggestions, and test results are welcome. --- Chuck Lever (4): SUNRPC: Convert svc_tcp_sendmsg to use bio_vecs directly SUNRPC: Convert svc_udp_sendto() to use the per-socket bio_vec array SUNRPC: Use a per-transport receive bio_vec array SUNRPC: Send RPC message on TCP with a single sock_sendmsg() call include/linux/sunrpc/svc.h | 1 - include/linux/sunrpc/svcsock.h | 7 ++ net/sunrpc/svcsock.c | 142 ++++++++++++++++++--------------- 3 files changed, 86 insertions(+), 64 deletions(-) -- Chuck Lever