From patchwork Mon Feb 22 07:30:33 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Geliang Tang X-Patchwork-Id: 1442957 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=2001:19d0:306:5::1; 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=nwbnVb1F; dkim-atps=neutral Received: from ml01.01.org (ml01.01.org [IPv6:2001:19d0:306:5::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DkYkm24PLz9sBJ for ; Mon, 22 Feb 2021 18:30:56 +1100 (AEDT) Received: from ml01.vlan13.01.org (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id B506F100EBB76; Sun, 21 Feb 2021 23:30:48 -0800 (PST) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2607:f8b0:4864:20::1031; helo=mail-pj1-x1031.google.com; envelope-from=geliangtang@gmail.com; receiver= Received: from mail-pj1-x1031.google.com (mail-pj1-x1031.google.com [IPv6:2607:f8b0:4864:20::1031]) (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 A0774100EBB6F for ; Sun, 21 Feb 2021 23:30:47 -0800 (PST) Received: by mail-pj1-x1031.google.com with SMTP id cx11so5805933pjb.4 for ; Sun, 21 Feb 2021 23:30:47 -0800 (PST) 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=VJZLSmOYq9tnks1xvBvE8jqnNBzaVn0lS6VhS8ysBxE=; b=nwbnVb1FyLwwCEpMTuskFe7z6EOq7deGwAyjInhJgdR1vS/07OnEPD/HIPduAgEWi5 CtYoryo92puf8EOO6EM71Gz5N9+g0v7+dgRc7WEnFFc2E8x/UQyyKMeYVGxIrCwxoNU0 0i9/uhIR2qffq3WhnWmJwDQB4hia58hJ7kK7hFhcnASzCZKxI/UFipCFkGj+WcIeyIwZ Yqb8NybCaUHfcVRmi6D9Pl8qJkhkcX3MqgaMco7CLkroQtDN4nEElC72SJc0i3c8SkRl trncpaav5IGki+YLMyS+NmHJRXdellxZ9t7UQ+//cYu16VyGbK70gMeHtHl7GefOMx/9 xhHA== 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=VJZLSmOYq9tnks1xvBvE8jqnNBzaVn0lS6VhS8ysBxE=; b=Q+Vs1m3afYcdz6JOqn4cRJvupD2fiT4SnmG/GGDOxkwEKyTWYP6mF6fvrpN3Hi4Kqh Rzw4/q91HLdQSpOE2/brvb2pRudwaHjqd7j+0UV3Kl/7z8ehhwEBYre3wNxtzxTWFidk 4uVogMqAnPiBxYsHg0HvG/9HF2do7gTHJrBTqDP4YFH69NI2oc+AiK4owYXfcsd/WHAT QFXTlWileflK13IPYQxrxBv+SVXtYsPV7h5WI8TmC5eWvBM03O5ZaVinCFTruO+xpKrc j8zwFnQocI5F0li4Jmx/mlc2ChdOE1dgE9pb/Z+klRv1pXn0r2Vo1YDcUik9varuusy5 FqRQ== X-Gm-Message-State: AOAM5315o5becizVoPcWVCNeFfC8wrJbtYY1LfcrhrP98b4EW536h0Zt +IsQ2DqlK1GQzhTygZ8/jqzlYH63ri+uHA== X-Google-Smtp-Source: ABdhPJyLW+2RZ1BNad2J7e9OLxPTG2/BmuS/TeXvINYTTFRc9mQDQp+rMHWg7DU4qYTTsBRb3tcEPg== X-Received: by 2002:a17:90a:e64f:: with SMTP id ep15mr20465271pjb.151.1613979046957; Sun, 21 Feb 2021 23:30:46 -0800 (PST) Received: from localhost ([43.224.245.180]) by smtp.gmail.com with ESMTPSA id o21sm16451002pjp.42.2021.02.21.23.30.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 21 Feb 2021 23:30:46 -0800 (PST) From: Geliang Tang To: mptcp@lists.01.org Date: Mon, 22 Feb 2021 15:30:33 +0800 Message-Id: <17cc2a04d179090f095f22300aba6c8bbc868ba4.1613978710.git.geliangtang@gmail.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <0db05b909b602f18d84f07de6a8641eaa9daf070.1613978710.git.geliangtang@gmail.com> References: <38cfc37b362365f951585f9fda3031896f734e01.1613978710.git.geliangtang@gmail.com> <0db05b909b602f18d84f07de6a8641eaa9daf070.1613978710.git.geliangtang@gmail.com> MIME-Version: 1.0 Message-ID-Hash: VWMBFUWHDF74JGQC7W5XQ5ZQ2O6XAOYG X-Message-ID-Hash: VWMBFUWHDF74JGQC7W5XQ5ZQ2O6XAOYG 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 mptcp-next 3/3] mptcp: add tracepoint for 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 the tracepoint for subflow_check_data_avail to show the mapping status. Signed-off-by: Geliang Tang --- include/trace/events/mptcp.h | 26 ++++++++++++++++++++++++++ net/mptcp/subflow.c | 2 +- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/include/trace/events/mptcp.h b/include/trace/events/mptcp.h index f06a7d33b237..29570009a7e4 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_sock *msk, int nr_active, @@ -90,6 +98,24 @@ TRACE_EVENT(get_mapping_status, TP_printk("%s", __entry->str) ); +TRACE_EVENT(subflow_check_data_avail, + + TP_PROTO(__u8 status), + + TP_ARGS(status), + + TP_STRUCT__entry( + __field(__u8, status) + ), + + TP_fast_assign( + __entry->status = status; + ), + + TP_printk("mapping_status = %s", + show_mapping_status(__entry->status)) +); + #endif /* _TRACE_MPTCP_H */ /* This part must be outside protection */ diff --git a/net/mptcp/subflow.c b/net/mptcp/subflow.c index 6f4145abd85e..0c5e1ec0d418 100644 --- a/net/mptcp/subflow.c +++ b/net/mptcp/subflow.c @@ -975,7 +975,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); if (status == MAPPING_INVALID) { ssk->sk_err = EBADMSG; goto fatal;