From patchwork Wed Mar 24 08:51:39 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Geliang Tang X-Patchwork-Id: 1457798 X-Patchwork-Delegate: pabeni@redhat.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.01.org (client-ip=198.145.21.10; helo=ml01.01.org; envelope-from=mptcp-bounces@lists.01.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=AV7UfQgC; dkim-atps=neutral Received: from ml01.01.org (ml01.01.org [198.145.21.10]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4F526b61Dfz9sCD for ; Wed, 24 Mar 2021 19:52:07 +1100 (AEDT) Received: from ml01.vlan13.01.org (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id CD7FA100EB352; Wed, 24 Mar 2021 01:52:05 -0700 (PDT) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2607:f8b0:4864:20::532; helo=mail-pg1-x532.google.com; envelope-from=geliangtang@gmail.com; receiver= Received: from mail-pg1-x532.google.com (mail-pg1-x532.google.com [IPv6:2607:f8b0:4864:20::532]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id A345A100ED480 for ; Wed, 24 Mar 2021 01:52:03 -0700 (PDT) Received: by mail-pg1-x532.google.com with SMTP id l76so2076813pga.6 for ; Wed, 24 Mar 2021 01:52:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=+yo6slxNdqSXPtMaMQC/3HAaTl8XiamMVGMEeTYT85U=; b=AV7UfQgC2jdf9SnzSsMzWZFquPK5H1T2YHF2HviinwmV/8DHMySos0F4IUQbQcpRIW pF352BbpCiEPiZJPKrsbDAo61gVx6E/iyfcyjQRhyDBAJT8hvJra0OmpJHieMce0rhga MHn3gE+QbEjw/ODYG40I6LB10R8wa47Pwf9crkvrzPjflio9SDm0415tdoUEaNMQaYNa o6F/Wvj/ByujcKXneL3CZTY3iBRzMEQfYN9HwCkBAOPipWia5ywjvUFGw0L4y8HBboww S0eltmmFjBTkY/NNZfOk56muBp5vA4wX/PcNL83o3erHDYEDk8fQdU+bfJKkR2ftpitf PllA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=+yo6slxNdqSXPtMaMQC/3HAaTl8XiamMVGMEeTYT85U=; b=shhaTYRNzWqEhvJPb+or2mBgRdavwkrPX2HeUmCvpTDfCYrUtYAVCWq6+w6lyikvsI aNFhqf75q+N5ycqQeDz6mCsMOMttRckPWqr61eIyIXvRHWWQ2/g/Ame5UrYRq+COZtm0 SGLCXKn0jPfFvDNHrbm2S58FFJ4eEuS1VcsWSU5ylzEpzR2qv0ncJ66Uf1/Tp+wbSdfH 0NBBA/0GLsbhm+WZj8KQBTBqqlEqpZRQpJGsYbHaWryXNNV8s/H1celn3QT80vnIocub a0Y6rhkC0Zrd6Hc8nxkrMBvihzwFOmG1XCDlMzlQ9OWae5/BZjZge7uTCg4uOrAulECv cVSQ== X-Gm-Message-State: AOAM533UrZJghFYko49LanID/6Y8veeZdEMAC6KkKIOuK8RYLJKNCiDi 7dW2Q+6g5/J4g9o5NAFjigPD7kcARwmiXg== X-Google-Smtp-Source: ABdhPJyX7msoUI0JmNw1mduftR6v7OMeyJmD+s1FPiYjzG3/CIJS/GjY32q446b7d2rfMXKx+fy+hw== X-Received: by 2002:a63:348c:: with SMTP id b134mr2226795pga.86.1616575922845; Wed, 24 Mar 2021 01:52:02 -0700 (PDT) Received: from localhost ([43.224.245.180]) by smtp.gmail.com with ESMTPSA id x69sm1718696pfd.161.2021.03.24.01.52.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Mar 2021 01:52:02 -0700 (PDT) From: Geliang Tang To: mptcp@lists.01.org, mptcp@lists.linux.dev Date: Wed, 24 Mar 2021 16:51:39 +0800 Message-Id: <5d104cddc4aa0acc4f9c0b70db33e002043d7118.1616575602.git.geliangtang@gmail.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <0662c0637222901b447135bb10aaad7dea9b4a49.1616575602.git.geliangtang@gmail.com> References: <6e606e2aeb7ea4bdd1618783cb24675bcde693b2.1616575602.git.geliangtang@gmail.com> <9b74169474a157c54953de796bc35ef54a710a18.1616575602.git.geliangtang@gmail.com> <0662c0637222901b447135bb10aaad7dea9b4a49.1616575602.git.geliangtang@gmail.com> MIME-Version: 1.0 Message-ID-Hash: QJJW3NVYCXH6UMWGL3CMCAAK62UWAGBN X-Message-ID-Hash: QJJW3NVYCXH6UMWGL3CMCAAK62UWAGBN X-MailFrom: geliangtang@gmail.com X-Mailman-Rule-Hits: member-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address CC: Geliang Tang X-Mailman-Version: 3.1.1 Precedence: list Subject: [MPTCP] [MPTCP][PATCH v2 mptcp-next 5/5] mptcp: add tracepoint in subflow_check_data_avail List-Id: Discussions regarding MPTCP upstreaming Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: This patch added a tracepoint in subflow_check_data_avail() to show the mapping status. Suggested-by: Paolo Abeni Signed-off-by: Geliang Tang --- include/trace/events/mptcp.h | 29 +++++++++++++++++++++++++++++ net/mptcp/subflow.c | 4 +--- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/include/trace/events/mptcp.h b/include/trace/events/mptcp.h index 2b8ae5e81cd1..5571c45c61f2 100644 --- a/include/trace/events/mptcp.h +++ b/include/trace/events/mptcp.h @@ -7,6 +7,14 @@ #include +#define show_mapping_status(status) \ + __print_symbolic(status, \ + { 0, "MAPPING_OK" }, \ + { 1, "MAPPING_INVALID" }, \ + { 2, "MAPPING_EMPTY" }, \ + { 3, "MAPPING_DATA_FIN" }, \ + { 4, "MAPPING_DUMMY" }) + TRACE_EVENT(mptcp_subflow_get_send, TP_PROTO(struct mptcp_subflow_context *subflow, struct sock *ssk), @@ -116,6 +124,27 @@ TRACE_EVENT(ack_update_msk, __entry->new_snd_una, __entry->new_wnd_end) ); +TRACE_EVENT(subflow_check_data_avail, + + TP_PROTO(__u8 status, struct sk_buff *skb), + + TP_ARGS(status, skb), + + TP_STRUCT__entry( + __field(u8, status) + __field(const void *, skb) + ), + + TP_fast_assign( + __entry->status = status; + __entry->skb = skb; + ), + + TP_printk("mapping_status=%s, skb=%p", + show_mapping_status(__entry->status), + __entry->skb) +); + #endif /* _TRACE_MPTCP_H */ /* This part must be outside protection */ diff --git a/net/mptcp/subflow.c b/net/mptcp/subflow.c index dc08e5de807e..de8f16006fce 100644 --- a/net/mptcp/subflow.c +++ b/net/mptcp/subflow.c @@ -993,8 +993,6 @@ static bool subflow_check_data_avail(struct sock *ssk) struct mptcp_sock *msk; struct sk_buff *skb; - pr_debug("msk=%p ssk=%p data_avail=%d skb=%p", subflow->conn, ssk, - subflow->data_avail, skb_peek(&ssk->sk_receive_queue)); if (!skb_peek(&ssk->sk_receive_queue)) subflow->data_avail = 0; if (subflow->data_avail) @@ -1006,7 +1004,7 @@ static bool subflow_check_data_avail(struct sock *ssk) u64 old_ack; status = get_mapping_status(ssk, msk); - pr_debug("msk=%p ssk=%p status=%d", msk, ssk, status); + trace_subflow_check_data_avail(status, skb_peek(&ssk->sk_receive_queue)); if (status == MAPPING_INVALID) { ssk->sk_err = EBADMSG; goto fatal;