From patchwork Tue Mar 13 15:44:00 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chuck Lever X-Patchwork-Id: 10279621 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id CD5A0601A0 for ; Tue, 13 Mar 2018 15:44:12 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 24F8E205D6 for ; Tue, 13 Mar 2018 15:44:12 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 196B0288AA; Tue, 13 Mar 2018 15:44:12 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8B14621327 for ; Tue, 13 Mar 2018 15:44:10 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934861AbeCMPoH (ORCPT ); Tue, 13 Mar 2018 11:44:07 -0400 Received: from mail-io0-f196.google.com ([209.85.223.196]:46942 "EHLO mail-io0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S935067AbeCMPoC (ORCPT ); Tue, 13 Mar 2018 11:44:02 -0400 Received: by mail-io0-f196.google.com with SMTP id p78so605471iod.13 for ; Tue, 13 Mar 2018 08:44:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:from:to:cc:date:message-id:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=i9TTQEQEnOHhxBV2AQG3SWJTXrzFl0olCB6cURSMnII=; b=of/XERZpMjqRiVDu93rjHezFCm2+G06wsOKngB/i374lJ5tq3Lmc5+PSCdWbhJTNrG pmHgfBgm0RQ4rnPhV+5Cp/SQ4XGFZRULIKpnlbRVB/TdfNaJKW9S1RFqGqvoZdnfU3cZ WekoeEmgyj6AN31Kk+H69Rq0ToJgGDVbQsS5rRArPyLL4GZMd8JNqgyo3B4TMBAdXEJF BdNd+i3JB4rFPZVREGzC/JTyGnGZJfbW5eo4Mh3g+56Cowzc+QDaVHhjbGwreMzLCPbd v4NLOhmSXax9c0hufVgoa+boy8qQocATKi/PpfwZxMyRie/jBvZREnG59vkIitJ+xzPo wl4g== 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:cc:date:message-id :in-reply-to:references:user-agent:mime-version :content-transfer-encoding; bh=i9TTQEQEnOHhxBV2AQG3SWJTXrzFl0olCB6cURSMnII=; b=cDZhV7292gKfvcEi3/9s2uSFdqz9rIKwIY7/vXXqwBPk2MjHp2infUCZhbI9MMbD0M X7AGsOBfQwNqC5D69AFbWeOjQYbNwYA9oC9d/3tV1MoIhrLQ43pCUyOGvtswlye489/K JfBnCuS576egdvVwPVQxo3eXZwwTe4+2k/BmO2iQtbxUdsHhvHOWuz3QsJqE/bDmZMq9 YAQIKJmF67PqtFqU3Ii1hMEe8tGmvLbLlPwMJsM0I8c52s6oRSoYRpbzrNebNKBnpnTR Wu4oZEbqcC4IC+8rua+aRCsnDxNyqwcSkrGqoIxqhgevANLNaaRHXibOTNLp8ajrMel6 Qjqg== X-Gm-Message-State: AElRT7FamcvKA671uOLo14UCDhXkLP77oxl/6nbjH3KvEAp5pGq3jFc4 6ylB1kcVRt6KxKS0HuDmthxuVg== X-Google-Smtp-Source: AG47ELsOsrqWnKrcuGse5kB5h8N0PUT1rAnobEw2EeFVxA/6GR+x7XLDFRFFI74QoIbP8p9BuiSFpg== X-Received: by 10.107.10.219 with SMTP id 88mr1287715iok.259.1520955842177; Tue, 13 Mar 2018 08:44:02 -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 t64sm264365itd.0.2018.03.13.08.44.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 13 Mar 2018 08:44:01 -0700 (PDT) Received: from klimt.1015granger.net (klimt.1015granger.net [192.168.1.55]) by gateway.1015granger.net (8.14.7/8.14.7) with ESMTP id w2DFi0Bm026278; Tue, 13 Mar 2018 15:44:00 GMT Subject: [PATCH 04/15] sunrpc: Move trace_svc_xprt_dequeue() From: Chuck Lever To: bfields@fieldses.org Cc: linux-nfs@vger.kernel.org Date: Tue, 13 Mar 2018 11:44:00 -0400 Message-ID: <20180313154400.21531.68347.stgit@klimt.1015granger.net> In-Reply-To: <20180313154053.21531.86316.stgit@klimt.1015granger.net> References: <20180313154053.21531.86316.stgit@klimt.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 X-Virus-Scanned: ClamAV using ClamSMTP Reduce the amount of noise generated by trace_svc_xprt_dequeue by moving it to the end of svc_get_next_xprt. This generates exactly one trace event when a ready xprt is found, rather than spurious events when there is no work to do. The empty events contain no information that can't be obtained simply by tracing function calls to svc_xprt_dequeue. A small additional benefit is simplification of the svc_xprt_event trace class, which no longer has to handle the case when the @xprt parameter is NULL. Signed-off-by: Chuck Lever --- include/trace/events/sunrpc.h | 16 +++++----------- net/sunrpc/svc_xprt.c | 5 +---- 2 files changed, 6 insertions(+), 15 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/include/trace/events/sunrpc.h b/include/trace/events/sunrpc.h index a231444..9bba307 100644 --- a/include/trace/events/sunrpc.h +++ b/include/trace/events/sunrpc.h @@ -634,24 +634,18 @@ TP_STRUCT__entry( __field(struct svc_xprt *, xprt) __field(unsigned long, flags) - __dynamic_array(unsigned char, addr, xprt != NULL ? - xprt->xpt_remotelen : 0) + __dynamic_array(unsigned char, addr, xprt->xpt_remotelen) ), TP_fast_assign( __entry->xprt = xprt; - if (xprt) { - memcpy(__get_dynamic_array(addr), - &xprt->xpt_remote, - xprt->xpt_remotelen); - __entry->flags = xprt->xpt_flags; - } else - __entry->flags = 0; + __entry->flags = xprt->xpt_flags; + memcpy(__get_dynamic_array(addr), + &xprt->xpt_remote, xprt->xpt_remotelen); ), TP_printk("xprt=0x%p addr=%pIScp flags=%s", __entry->xprt, - __get_dynamic_array_len(addr) != 0 ? - (struct sockaddr *)__get_dynamic_array(addr) : NULL, + (struct sockaddr *)__get_dynamic_array(addr), show_svc_xprt_flags(__entry->flags)) ); diff --git a/net/sunrpc/svc_xprt.c b/net/sunrpc/svc_xprt.c index 4e3b4c5..71f4718 100644 --- a/net/sunrpc/svc_xprt.c +++ b/net/sunrpc/svc_xprt.c @@ -454,13 +454,9 @@ static struct svc_xprt *svc_xprt_dequeue(struct svc_pool *pool) struct svc_xprt, xpt_ready); list_del_init(&xprt->xpt_ready); svc_xprt_get(xprt); - - dprintk("svc: transport %p dequeued, inuse=%d\n", - xprt, kref_read(&xprt->xpt_ref)); } spin_unlock_bh(&pool->sp_lock); out: - trace_svc_xprt_dequeue(xprt); return xprt; } @@ -734,6 +730,7 @@ static struct svc_xprt *svc_get_next_xprt(struct svc_rqst *rqstp, long timeout) rqstp->rq_chandle.thread_wait = 5*HZ; else rqstp->rq_chandle.thread_wait = 1*HZ; + trace_svc_xprt_dequeue(rqstp->rq_xprt); return rqstp->rq_xprt; }