From patchwork Mon Jul 26 14:46:52 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chuck Lever III X-Patchwork-Id: 12399783 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7404EC4320A for ; Mon, 26 Jul 2021 14:46:54 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 5405B60F58 for ; Mon, 26 Jul 2021 14:46:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234422AbhGZOGY (ORCPT ); Mon, 26 Jul 2021 10:06:24 -0400 Received: from mail.kernel.org ([198.145.29.99]:52412 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234032AbhGZOGY (ORCPT ); Mon, 26 Jul 2021 10:06:24 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 1C20460EB2; Mon, 26 Jul 2021 14:46:53 +0000 (UTC) Subject: [PATCH v1 0/3] Optimize NFSD Send completion processing From: Chuck Lever To: linux-nfs@vger.kernel.org, linux-rdma@vger.kernel.org Date: Mon, 26 Jul 2021 10:46:52 -0400 Message-ID: <162731055652.13580.8774661104190191089.stgit@klimt.1015granger.net> User-Agent: StGit/1.1 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org The following series improves the efficiency of NFSD's Send completion processing by removing costly operations from the svcrdma Send completion handlers. Each of these patches reduces the CPU utilized per RPC by Send completion by an average of 2-3%. The goal is to improve the rate of RPCs that can be retired for a single-transport workload, thus increasing the server's scalability. These patches are also available for testing: https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git/log/?h=for-next --- Chuck Lever (3): svcrdma: Fewer calls to wake_up() in Send completion handler svcrdma: Relieve contention on sc_send_lock. svcrdma: Convert rdma->sc_rw_ctxts to llist include/linux/sunrpc/svc_rdma.h | 7 +-- net/sunrpc/xprtrdma/svc_rdma_rw.c | 56 ++++++++++++++++-------- net/sunrpc/xprtrdma/svc_rdma_sendto.c | 41 +++++++++-------- net/sunrpc/xprtrdma/svc_rdma_transport.c | 4 +- 4 files changed, 66 insertions(+), 42 deletions(-) -- Chuck Lever