From patchwork Wed Oct 23 14:01:52 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chuck Lever X-Patchwork-Id: 11206899 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 635FE139A for ; Wed, 23 Oct 2019 14:01:56 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 41C5621925 for ; Wed, 23 Oct 2019 14:01:56 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Kb4UayIu" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2406294AbfJWOBz (ORCPT ); Wed, 23 Oct 2019 10:01:55 -0400 Received: from mail-il1-f195.google.com ([209.85.166.195]:35037 "EHLO mail-il1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2406291AbfJWOBz (ORCPT ); Wed, 23 Oct 2019 10:01:55 -0400 Received: by mail-il1-f195.google.com with SMTP id p8so9283130ilp.2; Wed, 23 Oct 2019 07:01:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:from:to:date:message-id:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=8xOtVfElgegdlYVCvXxCRw3XNeazMIod/nhi4MX7A4U=; b=Kb4UayIufqSlyYCYcOplCa/avWF3PxxNSKJTLdZ+zP7CBJ+TToVKlGDKW5gP33D9Pb m5Td+6sHTNce9hKuy4VZ/zcpM+ppr4/K60w/YmoLQI/XOLAuvf9FFl06SQ6dZ44aq0Ei mQVtH6P5Z+QU1uZ3yaVdiZ45D/2g5q7FaeyHkziZNfeDOrKb9hjfHOYSSqtnRvLvPFAo zTVK4DPJ2bDi9jVM3BYFlXLgDdKWHVlyJkgSc5VFMIhWRRsXCMykRQM0w+bn4iNnp6yR 7oPoh+6F/+B7Ga6uDhbj+iVVW9GyzkJ+txyN8UURYCTQLn150RagfmIj6lj2Trx1uFi2 6pzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:from:to:date:message-id :in-reply-to:references:user-agent:mime-version :content-transfer-encoding; bh=8xOtVfElgegdlYVCvXxCRw3XNeazMIod/nhi4MX7A4U=; b=UZBBBxRMPDKpbix9yOcP6vXJcDyG6C1bxkltwrXXt9QNt/xYrupdLTknRvinBXsx0Y sErNb2g/26LvN0pKZNCKWjE3e175QeP9JkR7J807ENw3tvSV3XFkTdHs8wm1D/H2DZj/ E0IeH8xf91xj36hwyZTKnKleyHCih/k7r7WipryHMU1nh13BrhwtnuBRWC6H4TiY8vTj Pk7+N9XOcNVV5F5wpt4RZSZwgrygwFCTCHgkuoFpl9TL51vkszfh23FIAphfIxj+iTIr wNLwzHLOSzyhYePfXGYBYl63jxpwV81O/El4EC2LamIPe6HIXtTCU52ksaaGTHymDso4 zC0g== X-Gm-Message-State: APjAAAWkE9PIEQNkHfnAUvVAi6GJ9u02Rv3DcLtZ+0v98SPyo5Du1j3c RPVkfFDOz2hpY0w1icd6OJgeI/ev X-Google-Smtp-Source: APXvYqwRij65gXo5jaXP12YCgHvXUoAqyNPun+iiNc0w541eFX7OR2EFIL2I3d3y4DyX0M+wrfpCbw== X-Received: by 2002:a92:502:: with SMTP id q2mr38394179ile.44.1571839313833; Wed, 23 Oct 2019 07:01:53 -0700 (PDT) Received: from gateway.1015granger.net (c-68-61-232-219.hsd1.mi.comcast.net. [68.61.232.219]) by smtp.gmail.com with ESMTPSA id f1sm9492363ile.77.2019.10.23.07.01.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 23 Oct 2019 07:01:53 -0700 (PDT) Received: from manet.1015granger.net (manet.1015granger.net [192.168.1.51]) by gateway.1015granger.net (8.14.7/8.14.7) with ESMTP id x9NE1q9Y012541; Wed, 23 Oct 2019 14:01:52 GMT Subject: [PATCH v1 1/5] xprtrdma: Wake tasks after connect worker fails From: Chuck Lever To: linux-rdma@vger.kernel.org, linux-nfs@vger.kernel.org Date: Wed, 23 Oct 2019 10:01:52 -0400 Message-ID: <20191023140152.3992.17041.stgit@manet.1015granger.net> In-Reply-To: <20191023135907.3992.69010.stgit@manet.1015granger.net> References: <20191023135907.3992.69010.stgit@manet.1015granger.net> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org Pending tasks are currently never awoken when the connect worker fails. The reason is that XPRT_CONNECTED is always clear after a failure return of rpcrdma_ep_connect, thus the xprt_test_and_clear_connected() check in xprt_rdma_connect_worker() always fails. - xprt_rdma_close always clears XPRT_CONNECTED. - rpcrdma_ep_connect always clears XPRT_CONNECTED. After reviewing the TCP connect worker, it appears that there's no need for extra test_and_set paranoia in xprt_rdma_connect_worker. Signed-off-by: Chuck Lever --- net/sunrpc/xprtrdma/transport.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/net/sunrpc/xprtrdma/transport.c b/net/sunrpc/xprtrdma/transport.c index 0711308..361e591 100644 --- a/net/sunrpc/xprtrdma/transport.c +++ b/net/sunrpc/xprtrdma/transport.c @@ -243,16 +243,13 @@ rc = rpcrdma_ep_connect(&r_xprt->rx_ep, &r_xprt->rx_ia); xprt_clear_connecting(xprt); if (r_xprt->rx_ep.rep_connected > 0) { - if (!xprt_test_and_set_connected(xprt)) { - xprt->stat.connect_count++; - xprt->stat.connect_time += (long)jiffies - - xprt->stat.connect_start; - xprt_wake_pending_tasks(xprt, -EAGAIN); - } - } else { - if (xprt_test_and_clear_connected(xprt)) - xprt_wake_pending_tasks(xprt, rc); + xprt->stat.connect_count++; + xprt->stat.connect_time += (long)jiffies - + xprt->stat.connect_start; + xprt_set_connected(xprt); + rc = -EAGAIN; } + xprt_wake_pending_tasks(xprt, rc); } /** From patchwork Wed Oct 23 14:01:58 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chuck Lever X-Patchwork-Id: 11206903 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id CBDAB13BD for ; Wed, 23 Oct 2019 14:02:01 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id A0EDE21920 for ; Wed, 23 Oct 2019 14:02:01 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ZSvcnLK/" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2406297AbfJWOCB (ORCPT ); Wed, 23 Oct 2019 10:02:01 -0400 Received: from mail-io1-f68.google.com ([209.85.166.68]:42187 "EHLO mail-io1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2406291AbfJWOCA (ORCPT ); Wed, 23 Oct 2019 10:02:00 -0400 Received: by mail-io1-f68.google.com with SMTP id i26so15723839iog.9; Wed, 23 Oct 2019 07:02:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:from:to:date:message-id:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=W7UsRbq7aje9TPWgB472YV41+uwKYUwUlhGW9rS1hMo=; b=ZSvcnLK/oRmbSwEc9rVHojYYa1uO689j9xvXKr/W9YqHfZqNniKOGiC8l/tcgBvzNQ pncHKEtCpMe7DcZDfoi+13S1x+rHZbeSA7lb0WMKfjGTraU6tznC2N4bsSj5rKEkgjmY /3Ras3iITwfOLxpcJ7qgQnp8n5brC462ucuDrEOL/pLcfs9LLpKm0zjlbYfo5igVDmDa LkzsbujeqiMM1I5FMEDLZ1vQWN0wpMVhmyWCjzp0LePrOvEC+K19WMJkLlsm3LmQErdP jzNXLsmc4Y3LS28E/kkGTYvtTRWRvjWBQvpNd/l+GEQC1YrbFXx1Zkaf0vcJDMcufP6E NBhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:from:to:date:message-id :in-reply-to:references:user-agent:mime-version :content-transfer-encoding; bh=W7UsRbq7aje9TPWgB472YV41+uwKYUwUlhGW9rS1hMo=; b=b0Ni6Ap8ZeR9vvQNdzKh8tTJPH/GxMXDljS27v9KEpgUIF4ImB8uB9qEw+gwthv5BO Tkjy5B98xbTTUOspLtd9yHbwN50paHDtsIOtLw5cyJxaicMKnMi4iIYBQYaUlNDT+IHW znfWFSrhgEd+7cMQdX47UUnPxPB+uuCzgAMTscTXF3Lp5j+br1q58WHub3omTPjUMMy4 z5U0nxaFWlwhIo6gOg1lC+KwZ+rWlpa2DIO8/kBqu3zXY0swAYSXdEZQ+i9Qnef9yC4F j08fYYTxuwAfAyVQaV0O1uU321+hjeowfMaUUk1i/qIpZr3fxH9WPp1KdftitUTP6P5F vgEQ== X-Gm-Message-State: APjAAAVifICe62xCDnANz9zgjEeaWUDC1v3qm0AJIjZnnipKfqhvFtdU hpqTLSETWhdyqqS9NnonolLvLYTc X-Google-Smtp-Source: APXvYqw6Bay9O/S04iZN02xTzrWNjVdaN49qPzDtaGW3M7P0St7U0n43BoDoljL+HhQkwbdy4MZvpg== X-Received: by 2002:a5e:de43:: with SMTP id e3mr3380684ioq.23.1571839319497; Wed, 23 Oct 2019 07:01:59 -0700 (PDT) Received: from gateway.1015granger.net (c-68-61-232-219.hsd1.mi.comcast.net. [68.61.232.219]) by smtp.gmail.com with ESMTPSA id d14sm7963750ilr.76.2019.10.23.07.01.58 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 23 Oct 2019 07:01:58 -0700 (PDT) Received: from manet.1015granger.net (manet.1015granger.net [192.168.1.51]) by gateway.1015granger.net (8.14.7/8.14.7) with ESMTP id x9NE1wsR012545; Wed, 23 Oct 2019 14:01:58 GMT Subject: [PATCH v1 2/5] xprtrdma: Report the computed connect delay From: Chuck Lever To: linux-rdma@vger.kernel.org, linux-nfs@vger.kernel.org Date: Wed, 23 Oct 2019 10:01:58 -0400 Message-ID: <20191023140157.3992.30932.stgit@manet.1015granger.net> In-Reply-To: <20191023135907.3992.69010.stgit@manet.1015granger.net> References: <20191023135907.3992.69010.stgit@manet.1015granger.net> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org For debugging, the op_connect trace point should report the computed connect delay. We can then ensure that the delay is computed at the proper times, for example. As a further clean-up, remove a few low-value "heartbeat" trace points in the connect path. Signed-off-by: Chuck Lever --- include/trace/events/rpcrdma.h | 77 ++++++++++++++++++++++++++++----------- net/sunrpc/xprtrdma/transport.c | 3 +- net/sunrpc/xprtrdma/verbs.c | 13 ++----- 3 files changed, 60 insertions(+), 33 deletions(-) diff --git a/include/trace/events/rpcrdma.h b/include/trace/events/rpcrdma.h index 336a65d..201623c 100644 --- a/include/trace/events/rpcrdma.h +++ b/include/trace/events/rpcrdma.h @@ -85,6 +85,44 @@ ), \ TP_ARGS(r_xprt)) +DECLARE_EVENT_CLASS(xprtrdma_connect_class, + TP_PROTO( + const struct rpcrdma_xprt *r_xprt, + int rc + ), + + TP_ARGS(r_xprt, rc), + + TP_STRUCT__entry( + __field(const void *, r_xprt) + __field(int, rc) + __field(int, connect_status) + __string(addr, rpcrdma_addrstr(r_xprt)) + __string(port, rpcrdma_portstr(r_xprt)) + ), + + TP_fast_assign( + __entry->r_xprt = r_xprt; + __entry->rc = rc; + __entry->connect_status = r_xprt->rx_ep.rep_connected; + __assign_str(addr, rpcrdma_addrstr(r_xprt)); + __assign_str(port, rpcrdma_portstr(r_xprt)); + ), + + TP_printk("peer=[%s]:%s r_xprt=%p: rc=%d connect status=%d", + __get_str(addr), __get_str(port), __entry->r_xprt, + __entry->rc, __entry->connect_status + ) +); + +#define DEFINE_CONN_EVENT(name) \ + DEFINE_EVENT(xprtrdma_connect_class, xprtrdma_##name, \ + TP_PROTO( \ + const struct rpcrdma_xprt *r_xprt, \ + int rc \ + ), \ + TP_ARGS(r_xprt, rc)) + DECLARE_EVENT_CLASS(xprtrdma_rdch_event, TP_PROTO( const struct rpc_task *task, @@ -333,47 +371,44 @@ ) ); -TRACE_EVENT(xprtrdma_disconnect, +DEFINE_CONN_EVENT(connect); +DEFINE_CONN_EVENT(disconnect); + +DEFINE_RXPRT_EVENT(xprtrdma_create); +DEFINE_RXPRT_EVENT(xprtrdma_op_destroy); +DEFINE_RXPRT_EVENT(xprtrdma_remove); +DEFINE_RXPRT_EVENT(xprtrdma_reinsert); +DEFINE_RXPRT_EVENT(xprtrdma_op_inject_dsc); +DEFINE_RXPRT_EVENT(xprtrdma_op_close); + +TRACE_EVENT(xprtrdma_op_connect, TP_PROTO( const struct rpcrdma_xprt *r_xprt, - int status + unsigned long delay ), - TP_ARGS(r_xprt, status), + TP_ARGS(r_xprt, delay), TP_STRUCT__entry( __field(const void *, r_xprt) - __field(int, status) - __field(int, connected) + __field(unsigned long, delay) __string(addr, rpcrdma_addrstr(r_xprt)) __string(port, rpcrdma_portstr(r_xprt)) ), TP_fast_assign( __entry->r_xprt = r_xprt; - __entry->status = status; - __entry->connected = r_xprt->rx_ep.rep_connected; + __entry->delay = delay; __assign_str(addr, rpcrdma_addrstr(r_xprt)); __assign_str(port, rpcrdma_portstr(r_xprt)); ), - TP_printk("peer=[%s]:%s r_xprt=%p: status=%d %sconnected", - __get_str(addr), __get_str(port), - __entry->r_xprt, __entry->status, - __entry->connected == 1 ? "still " : "dis" + TP_printk("peer=[%s]:%s r_xprt=%p delay=%lu", + __get_str(addr), __get_str(port), __entry->r_xprt, + __entry->delay ) ); -DEFINE_RXPRT_EVENT(xprtrdma_conn_start); -DEFINE_RXPRT_EVENT(xprtrdma_conn_tout); -DEFINE_RXPRT_EVENT(xprtrdma_create); -DEFINE_RXPRT_EVENT(xprtrdma_op_destroy); -DEFINE_RXPRT_EVENT(xprtrdma_remove); -DEFINE_RXPRT_EVENT(xprtrdma_reinsert); -DEFINE_RXPRT_EVENT(xprtrdma_reconnect); -DEFINE_RXPRT_EVENT(xprtrdma_op_inject_dsc); -DEFINE_RXPRT_EVENT(xprtrdma_op_close); -DEFINE_RXPRT_EVENT(xprtrdma_op_connect); TRACE_EVENT(xprtrdma_op_set_cto, TP_PROTO( diff --git a/net/sunrpc/xprtrdma/transport.c b/net/sunrpc/xprtrdma/transport.c index 361e591..ce263e6 100644 --- a/net/sunrpc/xprtrdma/transport.c +++ b/net/sunrpc/xprtrdma/transport.c @@ -527,13 +527,12 @@ static void xprt_rdma_set_connect_timeout(struct rpc_xprt *xprt, struct rpcrdma_xprt *r_xprt = rpcx_to_rdmax(xprt); unsigned long delay; - trace_xprtrdma_op_connect(r_xprt); - delay = 0; if (r_xprt->rx_ep.rep_connected != 0) { delay = xprt_reconnect_delay(xprt); xprt_reconnect_backoff(xprt, RPCRDMA_INIT_REEST_TO); } + trace_xprtrdma_op_connect(r_xprt, delay); queue_delayed_work(xprtiod_workqueue, &r_xprt->rx_connect_worker, delay); } diff --git a/net/sunrpc/xprtrdma/verbs.c b/net/sunrpc/xprtrdma/verbs.c index a514e2c..92bdf05 100644 --- a/net/sunrpc/xprtrdma/verbs.c +++ b/net/sunrpc/xprtrdma/verbs.c @@ -297,8 +297,6 @@ static void rpcrdma_xprt_drain(struct rpcrdma_xprt *r_xprt) struct rdma_cm_id *id; int rc; - trace_xprtrdma_conn_start(xprt); - init_completion(&ia->ri_done); init_completion(&ia->ri_remove_done); @@ -314,10 +312,8 @@ static void rpcrdma_xprt_drain(struct rpcrdma_xprt *r_xprt) if (rc) goto out; rc = wait_for_completion_interruptible_timeout(&ia->ri_done, wtimeout); - if (rc < 0) { - trace_xprtrdma_conn_tout(xprt); + if (rc < 0) goto out; - } rc = ia->ri_async_rc; if (rc) @@ -328,10 +324,8 @@ static void rpcrdma_xprt_drain(struct rpcrdma_xprt *r_xprt) if (rc) goto out; rc = wait_for_completion_interruptible_timeout(&ia->ri_done, wtimeout); - if (rc < 0) { - trace_xprtrdma_conn_tout(xprt); + if (rc < 0) goto out; - } rc = ia->ri_async_rc; if (rc) goto out; @@ -644,8 +638,6 @@ static int rpcrdma_ep_reconnect(struct rpcrdma_xprt *r_xprt, struct rdma_cm_id *id, *old; int err, rc; - trace_xprtrdma_reconnect(r_xprt); - rpcrdma_ep_disconnect(&r_xprt->rx_ep, ia); rc = -EHOSTUNREACH; @@ -744,6 +736,7 @@ static int rpcrdma_ep_reconnect(struct rpcrdma_xprt *r_xprt, ep->rep_connected = rc; out_noupdate: + trace_xprtrdma_connect(r_xprt, rc); return rc; } From patchwork Wed Oct 23 14:02:03 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chuck Lever X-Patchwork-Id: 11206907 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id BAC1D139A for ; Wed, 23 Oct 2019 14:02:07 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 96DB421920 for ; Wed, 23 Oct 2019 14:02:07 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="cR4ji3vy" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731531AbfJWOCH (ORCPT ); Wed, 23 Oct 2019 10:02:07 -0400 Received: from mail-il1-f194.google.com ([209.85.166.194]:45841 "EHLO mail-il1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2406291AbfJWOCG (ORCPT ); Wed, 23 Oct 2019 10:02:06 -0400 Received: by mail-il1-f194.google.com with SMTP id u1so18986755ilq.12; Wed, 23 Oct 2019 07:02:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:from:to:date:message-id:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=fe6PoQR4vzNs/NXT6G+Xd8x9a/ZGdlBluhjyqqcewDo=; b=cR4ji3vy4xu/ivLJexOt64eoZjR2/wQf5YxjruQA50s7yOg5/4VpGBcv67VB2JLGWv JL88SBIzcQomeQY9Cxbl07F6O0M9iqiO4/wYVY97pcCyllxb27k4iU8Cqno3UfDnsPFg +PkmW0dlP212BrZXQv7BD5S5MtxwmLg2SAaga3ePGEGuyWF7Wnc74w97EpoaQYa4USPn ff/rXWJgp1eehYj6xcPdu+AfMWT9jrKdCJ9+VHndDzm3DNnYLGNiCcvmw833JnYtmM1G +kjHfibhj0e+aa7/M+4GHCwN6a8Dx79OnFfGtTN2WUKNuubmKkjm1Cxoe9pwG66VmS0o 0IxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:from:to:date:message-id :in-reply-to:references:user-agent:mime-version :content-transfer-encoding; bh=fe6PoQR4vzNs/NXT6G+Xd8x9a/ZGdlBluhjyqqcewDo=; b=FT/EdipGrRnwOxFHc7co69OqZ8eBXgakY/jKgUOm04DMWsYeyY9bR86t62HK21JLCa 0urSNEHrY4BQdI5YZrx1OwKUQAosjg3M2CZ6baLSyJF2zTp5slkLIt/lktBV+gGNbtxz IpqIsz8sx/X4JVU61gcTIuFWRyUaKdK74o8xQIkzM7teJUnTuvkTuvu1IZGRSfAXiL4d 1MDSzIEG5vCNt6TjvOstM5eCoYJDQVsPlSALOJ9m0O1554pYueaKBh4mtKhIV1SN8kFV C5dGD1rTfZDth+d0q013ruTnH9o5xvEJoIK1lSf5mevetgxgixG2jBtDG4n8pb4kiIoO 9qeA== X-Gm-Message-State: APjAAAVNaMSFm08FEmtW9sIRzUnzyY9375hphphdQQl96NirV28UZtaL /FsW1shyB0VC8DQlvRfYN7jpVPWY X-Google-Smtp-Source: APXvYqwcPnI9rhtKtg2QZkizvq2pOIfa6wQTnTLq6bgxfJ/Ks/g3gH7ao28TtbUGxj6j3xlnS7Z23g== X-Received: by 2002:a92:d0a:: with SMTP id 10mr39527275iln.238.1571839325575; Wed, 23 Oct 2019 07:02:05 -0700 (PDT) Received: from gateway.1015granger.net (c-68-61-232-219.hsd1.mi.comcast.net. [68.61.232.219]) by smtp.gmail.com with ESMTPSA id 26sm9038485ilx.47.2019.10.23.07.02.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 23 Oct 2019 07:02:04 -0700 (PDT) Received: from manet.1015granger.net (manet.1015granger.net [192.168.1.51]) by gateway.1015granger.net (8.14.7/8.14.7) with ESMTP id x9NE233B012548; Wed, 23 Oct 2019 14:02:03 GMT Subject: [PATCH v1 3/5] xprtrdma: Refine trace_xprtrdma_fixup From: Chuck Lever To: linux-rdma@vger.kernel.org, linux-nfs@vger.kernel.org Date: Wed, 23 Oct 2019 10:02:03 -0400 Message-ID: <20191023140203.3992.946.stgit@manet.1015granger.net> In-Reply-To: <20191023135907.3992.69010.stgit@manet.1015granger.net> References: <20191023135907.3992.69010.stgit@manet.1015granger.net> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org Slightly reduce overhead and display more useful information. Signed-off-by: Chuck Lever --- include/trace/events/rpcrdma.h | 60 +++++++++------------------------------- net/sunrpc/xprtrdma/rpc_rdma.c | 5 +-- 2 files changed, 15 insertions(+), 50 deletions(-) diff --git a/include/trace/events/rpcrdma.h b/include/trace/events/rpcrdma.h index 201623c..465c1b0 100644 --- a/include/trace/events/rpcrdma.h +++ b/include/trace/events/rpcrdma.h @@ -1084,66 +1084,32 @@ TRACE_EVENT(xprtrdma_fixup, TP_PROTO( const struct rpc_rqst *rqst, - int len, - int hdrlen + unsigned long fixup ), - TP_ARGS(rqst, len, hdrlen), + TP_ARGS(rqst, fixup), TP_STRUCT__entry( __field(unsigned int, task_id) __field(unsigned int, client_id) - __field(const void *, base) - __field(int, len) - __field(int, hdrlen) - ), - - TP_fast_assign( - __entry->task_id = rqst->rq_task->tk_pid; - __entry->client_id = rqst->rq_task->tk_client->cl_clid; - __entry->base = rqst->rq_rcv_buf.head[0].iov_base; - __entry->len = len; - __entry->hdrlen = hdrlen; - ), - - TP_printk("task:%u@%u base=%p len=%d hdrlen=%d", - __entry->task_id, __entry->client_id, - __entry->base, __entry->len, __entry->hdrlen - ) -); - -TRACE_EVENT(xprtrdma_fixup_pg, - TP_PROTO( - const struct rpc_rqst *rqst, - int pageno, - const void *pos, - int len, - int curlen - ), - - TP_ARGS(rqst, pageno, pos, len, curlen), - - TP_STRUCT__entry( - __field(unsigned int, task_id) - __field(unsigned int, client_id) - __field(const void *, pos) - __field(int, pageno) - __field(int, len) - __field(int, curlen) + __field(unsigned long, fixup) + __field(size_t, headlen) + __field(unsigned int, pagelen) + __field(size_t, taillen) ), TP_fast_assign( __entry->task_id = rqst->rq_task->tk_pid; __entry->client_id = rqst->rq_task->tk_client->cl_clid; - __entry->pos = pos; - __entry->pageno = pageno; - __entry->len = len; - __entry->curlen = curlen; + __entry->fixup = fixup; + __entry->headlen = rqst->rq_rcv_buf.head[0].iov_len; + __entry->pagelen = rqst->rq_rcv_buf.page_len; + __entry->taillen = rqst->rq_rcv_buf.tail[0].iov_len; ), - TP_printk("task:%u@%u pageno=%d pos=%p len=%d curlen=%d", - __entry->task_id, __entry->client_id, - __entry->pageno, __entry->pos, __entry->len, __entry->curlen + TP_printk("task:%u@%u fixup=%lu xdr=%zu/%u/%zu", + __entry->task_id, __entry->client_id, __entry->fixup, + __entry->headlen, __entry->pagelen, __entry->taillen ) ); diff --git a/net/sunrpc/xprtrdma/rpc_rdma.c b/net/sunrpc/xprtrdma/rpc_rdma.c index 4ad8889..26d334c 100644 --- a/net/sunrpc/xprtrdma/rpc_rdma.c +++ b/net/sunrpc/xprtrdma/rpc_rdma.c @@ -1086,7 +1086,6 @@ void rpcrdma_reset_cwnd(struct rpcrdma_xprt *r_xprt) curlen = rqst->rq_rcv_buf.head[0].iov_len; if (curlen > copy_len) curlen = copy_len; - trace_xprtrdma_fixup(rqst, copy_len, curlen); srcp += curlen; copy_len -= curlen; @@ -1106,8 +1105,6 @@ void rpcrdma_reset_cwnd(struct rpcrdma_xprt *r_xprt) if (curlen > pagelist_len) curlen = pagelist_len; - trace_xprtrdma_fixup_pg(rqst, i, srcp, - copy_len, curlen); destp = kmap_atomic(ppages[i]); memcpy(destp + page_base, srcp, curlen); flush_dcache_page(ppages[i]); @@ -1139,6 +1136,8 @@ void rpcrdma_reset_cwnd(struct rpcrdma_xprt *r_xprt) rqst->rq_private_buf.tail[0].iov_base = srcp; } + if (fixup_copy_count) + trace_xprtrdma_fixup(rqst, fixup_copy_count); return fixup_copy_count; } From patchwork Wed Oct 23 14:02:09 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chuck Lever X-Patchwork-Id: 11206911 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id F18D4139A for ; Wed, 23 Oct 2019 14:02:12 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id D06EF21920 for ; Wed, 23 Oct 2019 14:02:12 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Ip4wUs2y" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2406300AbfJWOCM (ORCPT ); Wed, 23 Oct 2019 10:02:12 -0400 Received: from mail-il1-f193.google.com ([209.85.166.193]:40897 "EHLO mail-il1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2406291AbfJWOCM (ORCPT ); Wed, 23 Oct 2019 10:02:12 -0400 Received: by mail-il1-f193.google.com with SMTP id d83so10522845ilk.7; Wed, 23 Oct 2019 07:02:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:from:to:date:message-id:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=JBd2YWeY6s1oHmSMhMxPAGz6fTYvXzn1oIhq6Chb6Ww=; b=Ip4wUs2y9KaKBi+Mx9CqvMoEOE2sOVwdjfPWLGVJF0EyLyT85tk8mqnCKD4kcWgaIP ppCgq/bSwDEM4MY0CtvHQAP6KDVUfGcIcPDvGh/hFOHFY5QDZATFo7XqLoH0FINTCT1D 1ty0rur3b3/Du9jjSFm1GIoZy3xce/puqkOu3DBRDO6m4MCYhfVUePxYEfR/ZNzlXdZZ 2jNcFEU192HuD6SKKLQiwVQpqq0o1foaL4LCffXtBgE4sWls2095nxPz1KEUrRCcHtvb x9p9ZwOBRIr1yyq/PyD7T8OLphRQR6Xu05R1Q2d2x/GD52VV3xG4JI7/W/LujavDQGpz Gzmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:from:to:date:message-id :in-reply-to:references:user-agent:mime-version :content-transfer-encoding; bh=JBd2YWeY6s1oHmSMhMxPAGz6fTYvXzn1oIhq6Chb6Ww=; b=fCufxOw8VGBWZW0qN/FBD6efEfsCB4dRU1deE1XI9VKg/tyc/qiWvMJB5VDHoBQ/On 8hBNyXKtxjZaPe0psPwiQn7RTg9hcr8SUW7w3edeFGF9i/RVpYmV4ZK47fJVSRZ9u8PO P+QUIGRVPjK/Zm0ZmM8Fw10f7H6KVxNrlYtnn2qsMnoc/tFh/9NBqo/zuu2ODvEexgyR g9MBvy4ztGp0hrRqSwTwfK5megUIOwb5+IeJJwRQtJJPfAfZt1HaRqx0uz7cJR5byiGm g7f/7mKMBXTTWPk8LoHxHpPBWSJ2q6RLqcq6LjpVUIlL0zDQPD/J7l9+lgJwWoaMtiSe x0VA== X-Gm-Message-State: APjAAAXjRLZj4rZ4evllGp2eYogEhSIxRMpv9FJ4YsQMQWj9vSl1H2f/ ecm8suKCuq32EvmMrUrYDlxBp779 X-Google-Smtp-Source: APXvYqxk9Ca8c21AbLy9Gf0gdBYLzNIxu3BUw4DrekUJYZFuNJAzh1jIxQP8+BQtUO0Z2Kvbx1XjrA== X-Received: by 2002:a92:831d:: with SMTP id f29mr17304876ild.263.1571839330435; Wed, 23 Oct 2019 07:02:10 -0700 (PDT) Received: from gateway.1015granger.net (c-68-61-232-219.hsd1.mi.comcast.net. [68.61.232.219]) by smtp.gmail.com with ESMTPSA id u124sm7159561ioe.63.2019.10.23.07.02.09 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 23 Oct 2019 07:02:09 -0700 (PDT) Received: from manet.1015granger.net (manet.1015granger.net [192.168.1.51]) by gateway.1015granger.net (8.14.7/8.14.7) with ESMTP id x9NE29XO012551; Wed, 23 Oct 2019 14:02:09 GMT Subject: [PATCH v1 4/5] xprtrdma: Replace dprintk() in rpcrdma_update_connect_private() From: Chuck Lever To: linux-rdma@vger.kernel.org, linux-nfs@vger.kernel.org Date: Wed, 23 Oct 2019 10:02:09 -0400 Message-ID: <20191023140208.3992.79838.stgit@manet.1015granger.net> In-Reply-To: <20191023135907.3992.69010.stgit@manet.1015granger.net> References: <20191023135907.3992.69010.stgit@manet.1015granger.net> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org Clean up: Use a single trace point to record each connection's negotiated inline thresholds and the computed maximum byte size of transport headers. Signed-off-by: Chuck Lever --- include/trace/events/rpcrdma.h | 36 ++++++++++++++++++++++++++++++++++++ net/sunrpc/xprtrdma/rpc_rdma.c | 4 ---- net/sunrpc/xprtrdma/verbs.c | 21 ++++++++++----------- 3 files changed, 46 insertions(+), 15 deletions(-) diff --git a/include/trace/events/rpcrdma.h b/include/trace/events/rpcrdma.h index 465c1b0..081831d 100644 --- a/include/trace/events/rpcrdma.h +++ b/include/trace/events/rpcrdma.h @@ -371,6 +371,42 @@ ) ); +TRACE_EVENT(xprtrdma_inline_thresh, + TP_PROTO( + const struct rpcrdma_xprt *r_xprt + ), + + TP_ARGS(r_xprt), + + TP_STRUCT__entry( + __field(const void *, r_xprt) + __field(unsigned int, inline_send) + __field(unsigned int, inline_recv) + __field(unsigned int, max_send) + __field(unsigned int, max_recv) + __string(addr, rpcrdma_addrstr(r_xprt)) + __string(port, rpcrdma_portstr(r_xprt)) + ), + + TP_fast_assign( + const struct rpcrdma_ep *ep = &r_xprt->rx_ep; + + __entry->r_xprt = r_xprt; + __entry->inline_send = ep->rep_inline_send; + __entry->inline_recv = ep->rep_inline_recv; + __entry->max_send = ep->rep_max_inline_send; + __entry->max_recv = ep->rep_max_inline_recv; + __assign_str(addr, rpcrdma_addrstr(r_xprt)); + __assign_str(port, rpcrdma_portstr(r_xprt)); + ), + + TP_printk("peer=[%s]:%s r_xprt=%p neg send/recv=%u/%u, calc send/recv=%u/%u", + __get_str(addr), __get_str(port), __entry->r_xprt, + __entry->inline_send, __entry->inline_recv, + __entry->max_send, __entry->max_recv + ) +); + DEFINE_CONN_EVENT(connect); DEFINE_CONN_EVENT(disconnect); diff --git a/net/sunrpc/xprtrdma/rpc_rdma.c b/net/sunrpc/xprtrdma/rpc_rdma.c index 26d334c..aec3beb 100644 --- a/net/sunrpc/xprtrdma/rpc_rdma.c +++ b/net/sunrpc/xprtrdma/rpc_rdma.c @@ -78,8 +78,6 @@ static unsigned int rpcrdma_max_call_header_size(unsigned int maxsegs) size += rpcrdma_segment_maxsz * sizeof(__be32); size += sizeof(__be32); /* list discriminator */ - dprintk("RPC: %s: max call header size = %u\n", - __func__, size); return size; } @@ -100,8 +98,6 @@ static unsigned int rpcrdma_max_reply_header_size(unsigned int maxsegs) size += maxsegs * rpcrdma_segment_maxsz * sizeof(__be32); size += sizeof(__be32); /* list discriminator */ - dprintk("RPC: %s: max reply header size = %u\n", - __func__, size); return size; } diff --git a/net/sunrpc/xprtrdma/verbs.c b/net/sunrpc/xprtrdma/verbs.c index 92bdf05..77c7dd7 100644 --- a/net/sunrpc/xprtrdma/verbs.c +++ b/net/sunrpc/xprtrdma/verbs.c @@ -177,11 +177,11 @@ static void rpcrdma_xprt_drain(struct rpcrdma_xprt *r_xprt) rpcrdma_recv_buffer_put(rep); } -static void -rpcrdma_update_connect_private(struct rpcrdma_xprt *r_xprt, - struct rdma_conn_param *param) +static void rpcrdma_update_cm_private(struct rpcrdma_xprt *r_xprt, + struct rdma_conn_param *param) { const struct rpcrdma_connect_private *pmsg = param->private_data; + struct rpcrdma_ep *ep = &r_xprt->rx_ep; unsigned int rsize, wsize; /* Default settings for RPC-over-RDMA Version One */ @@ -197,13 +197,11 @@ static void rpcrdma_xprt_drain(struct rpcrdma_xprt *r_xprt) wsize = rpcrdma_decode_buffer_size(pmsg->cp_recv_size); } - if (rsize < r_xprt->rx_ep.rep_inline_recv) - r_xprt->rx_ep.rep_inline_recv = rsize; - if (wsize < r_xprt->rx_ep.rep_inline_send) - r_xprt->rx_ep.rep_inline_send = wsize; - dprintk("RPC: %s: max send %u, max recv %u\n", __func__, - r_xprt->rx_ep.rep_inline_send, - r_xprt->rx_ep.rep_inline_recv); + if (rsize < ep->rep_inline_recv) + ep->rep_inline_recv = rsize; + if (wsize < ep->rep_inline_send) + ep->rep_inline_send = wsize; + rpcrdma_set_max_header_sizes(r_xprt); } @@ -257,7 +255,8 @@ static void rpcrdma_xprt_drain(struct rpcrdma_xprt *r_xprt) case RDMA_CM_EVENT_ESTABLISHED: ++xprt->connect_cookie; ep->rep_connected = 1; - rpcrdma_update_connect_private(r_xprt, &event->param.conn); + rpcrdma_update_cm_private(r_xprt, &event->param.conn); + trace_xprtrdma_inline_thresh(r_xprt); wake_up_all(&ep->rep_connect_wait); break; case RDMA_CM_EVENT_CONNECT_ERROR: From patchwork Wed Oct 23 14:02:14 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chuck Lever X-Patchwork-Id: 11206915 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id CDC0613BD for ; Wed, 23 Oct 2019 14:02:17 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id AC39A21920 for ; Wed, 23 Oct 2019 14:02:17 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="FNHZVO0n" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2406302AbfJWOCR (ORCPT ); Wed, 23 Oct 2019 10:02:17 -0400 Received: from mail-il1-f195.google.com ([209.85.166.195]:39599 "EHLO mail-il1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2406301AbfJWOCQ (ORCPT ); Wed, 23 Oct 2019 10:02:16 -0400 Received: by mail-il1-f195.google.com with SMTP id i12so8471546ils.6; Wed, 23 Oct 2019 07:02:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:from:to:date:message-id:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=BNSbq+2+9vAowhp9rev2KXzfkbxO3mbJYjdUCgXqjTQ=; b=FNHZVO0nm1/fj/xUOnTNI4jILtzHPJkISgd2O9inUQTZFZ24NbsMBxDynT51NvQ4sL RVA4J0pUY3bIcErrD2NvLFeCJe59kyaZjwNMfD8njovtwMcBTYoycsPxaCZrOj0ttbJj /gajbdY4QATVQ+xM3HU54FU2izXWoi1sqY/khlOsUMD9G+AYCT2jXH5crXbpwT9eetKg 1H2c6SklP76ZZugcEfNbtzLc9qMI6zasgGTsvCuhs3tEloAXBI8uLbvAQGgZ7hYju1Gw PTDyT74b8uCOGDmVgtdNEtSUstXvRmOyatRjkpd6CqfBQy6IjyZzmjpNSjfjip7uSB77 SZlA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:from:to:date:message-id :in-reply-to:references:user-agent:mime-version :content-transfer-encoding; bh=BNSbq+2+9vAowhp9rev2KXzfkbxO3mbJYjdUCgXqjTQ=; b=WYbfY31SjQUTyiizHyaWqsR3+dUee5EXzMUr1zPQqRhg3docpXQn6CIM/LPaSoyPGe 4LDj1bITUgA5CAl9yb27Nd0j2dASbRFqsFKb9lYisUgrXALFIQk2Jp10g5jGhSJC6eNS yRDoO2cssxkA5LaWY/U8aEeTQOWxtwpKMQcfleDbZoMyZwWO1mV5HL9jkEiNs+4yV2St jKXJQR+ywGJ4mGhcXWVhwZ4OUFrRGZJ1zPMCl2Rfl/SBnSBMRHcHp/1r+Jia+h+QPqIp mA9ey0ltVrTXJP4XsxF4bJbr/gpLlgEved3AnROf92Lv/Kii+EvegNFg2WcbH+Hbiaop XIRw== X-Gm-Message-State: APjAAAVitQB/0oRKPqMYZlVVyCf1RADCeK1eaH8xFI5wZBJ3UYTKMqx6 YJJC+S8kJo4yIx0+c9sRb5fYFrOd X-Google-Smtp-Source: APXvYqzE4FDFBeVsEOu58pes9j3a3ovxX0jODvxcoClU/ALHDGL4Sn9eyUZA8/14ckp812sGHdDNuw== X-Received: by 2002:a92:ce11:: with SMTP id b17mr5204346ilo.119.1571839335971; Wed, 23 Oct 2019 07:02:15 -0700 (PDT) Received: from gateway.1015granger.net (c-68-61-232-219.hsd1.mi.comcast.net. [68.61.232.219]) by smtp.gmail.com with ESMTPSA id j6sm7694505ilr.2.2019.10.23.07.02.15 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 23 Oct 2019 07:02:15 -0700 (PDT) Received: from manet.1015granger.net (manet.1015granger.net [192.168.1.51]) by gateway.1015granger.net (8.14.7/8.14.7) with ESMTP id x9NE2EWk012554; Wed, 23 Oct 2019 14:02:14 GMT Subject: [PATCH v1 5/5] xprtrdma: Replace dprintk in xprt_rdma_set_port From: Chuck Lever To: linux-rdma@vger.kernel.org, linux-nfs@vger.kernel.org Date: Wed, 23 Oct 2019 10:02:14 -0400 Message-ID: <20191023140214.3992.33197.stgit@manet.1015granger.net> In-Reply-To: <20191023135907.3992.69010.stgit@manet.1015granger.net> References: <20191023135907.3992.69010.stgit@manet.1015granger.net> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org Signed-off-by: Chuck Lever --- include/trace/events/rpcrdma.h | 1 + net/sunrpc/xprtrdma/transport.c | 9 +++------ 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/include/trace/events/rpcrdma.h b/include/trace/events/rpcrdma.h index 081831d..1879058 100644 --- a/include/trace/events/rpcrdma.h +++ b/include/trace/events/rpcrdma.h @@ -416,6 +416,7 @@ DEFINE_RXPRT_EVENT(xprtrdma_reinsert); DEFINE_RXPRT_EVENT(xprtrdma_op_inject_dsc); DEFINE_RXPRT_EVENT(xprtrdma_op_close); +DEFINE_RXPRT_EVENT(xprtrdma_op_setport); TRACE_EVENT(xprtrdma_op_connect, TP_PROTO( diff --git a/net/sunrpc/xprtrdma/transport.c b/net/sunrpc/xprtrdma/transport.c index ce263e6..7395eb2 100644 --- a/net/sunrpc/xprtrdma/transport.c +++ b/net/sunrpc/xprtrdma/transport.c @@ -441,12 +441,6 @@ void xprt_rdma_close(struct rpc_xprt *xprt) struct sockaddr *sap = (struct sockaddr *)&xprt->addr; char buf[8]; - dprintk("RPC: %s: setting port for xprt %p (%s:%s) to %u\n", - __func__, xprt, - xprt->address_strings[RPC_DISPLAY_ADDR], - xprt->address_strings[RPC_DISPLAY_PORT], - port); - rpc_set_port(sap, port); kfree(xprt->address_strings[RPC_DISPLAY_PORT]); @@ -456,6 +450,9 @@ void xprt_rdma_close(struct rpc_xprt *xprt) kfree(xprt->address_strings[RPC_DISPLAY_HEX_PORT]); snprintf(buf, sizeof(buf), "%4hx", port); xprt->address_strings[RPC_DISPLAY_HEX_PORT] = kstrdup(buf, GFP_KERNEL); + + trace_xprtrdma_op_setport(container_of(xprt, struct rpcrdma_xprt, + rx_xprt)); } /**