From patchwork Mon Feb 22 07:30:31 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Geliang Tang X-Patchwork-Id: 1442954 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=ni60n195; 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) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DkYkZ4232z9sCD for ; Mon, 22 Feb 2021 18:30:45 +1100 (AEDT) Received: from ml01.vlan13.01.org (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 96C87100EBB61; Sun, 21 Feb 2021 23:30:43 -0800 (PST) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2607:f8b0:4864:20::434; helo=mail-pf1-x434.google.com; envelope-from=geliangtang@gmail.com; receiver= Received: from mail-pf1-x434.google.com (mail-pf1-x434.google.com [IPv6:2607:f8b0:4864:20::434]) (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 E599B100EBBDF for ; Sun, 21 Feb 2021 23:30:40 -0800 (PST) Received: by mail-pf1-x434.google.com with SMTP id q20so6049158pfu.8 for ; Sun, 21 Feb 2021 23:30:40 -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=nhEJCC178u+jSiOx3ggpEO43ENA7s7Dr4IttEUp7AdE=; b=ni60n195wGejsgaBomKHw52RLijUBIcuoknU5udc0XKBcWTpeNFbpB5Ykoelfd6fOy EqSphcFzF9F+NzEgxNv69wRW2Pcow7Tg6b9AxueIXQ0qvqA3d3iSz2mS9/1gcGCF0NYK 4zy+kdqxhdwxvldbPJe/a/75lEVRJBmJeq3c5mKG/zagoVA7HHGcP5k+Gpk+gsFXZgee aL/tCi12N7hwFktnqbK1VuUPHyid7cmykx/gzggtDrnrHumHWbUeB8CtWQJxPcqornLC 1UthJInB0E105tRii1Llq1vzuwdhDt54wlsIZHUy3qfxvI6E2JRvK2Qp2gceiC3EvSaO +g/g== 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=nhEJCC178u+jSiOx3ggpEO43ENA7s7Dr4IttEUp7AdE=; b=JHDCiP5aSND0X+Gky75Kpri4gPFcP9/S2sFnqzwgyzEWQFi5iqrpjjuV+fHW1t7t+p RtzfZ4rCi8dHxfbouBuumw2e12z2oipd7MDM1sWpw3YvDBER/3226ZqAnk3s87tVzcaz IZ/C95HN/Yi8nN9DPEsjZ1CXAGgSqfzutBwSAwErJonDdJLk9zCWbhuc4Tv335JGHnUB GDDKL3G8qlvHY9ZktFKirvQhlCsxsT9EjKY/CMqDYAECswO5i3RFtQSRyb6bMwIxlppb adOXAI1E/DG/Ymp4BKA56GrSGzVnCAMiE4ztdSLSdNUB0Z/6WbupdVNMNwRW9Gm2/+nE VDaA== X-Gm-Message-State: AOAM530JjqfPjJ8K/uMujNh/ISThYtGzqEbgsybOd/zRTbAdJjKHKV5p kVsO687xikxbc3BPbRvvlANxJjJFbQOAxQ== X-Google-Smtp-Source: ABdhPJz2KioqyRzyh5rB11/bloA157sR6eJ1N7RMXDI67bZnXt+fdHKjw71Gow8CsJvS9mhunWag4A== X-Received: by 2002:a62:7555:0:b029:1ed:7b84:5e29 with SMTP id q82-20020a6275550000b02901ed7b845e29mr7431254pfc.61.1613979040176; Sun, 21 Feb 2021 23:30:40 -0800 (PST) Received: from localhost ([43.224.245.180]) by smtp.gmail.com with ESMTPSA id 7sm17699427pfh.142.2021.02.21.23.30.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 21 Feb 2021 23:30:39 -0800 (PST) From: Geliang Tang To: mptcp@lists.01.org Date: Mon, 22 Feb 2021 15:30:31 +0800 Message-Id: <38cfc37b362365f951585f9fda3031896f734e01.1613978710.git.geliangtang@gmail.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: References: MIME-Version: 1.0 Message-ID-Hash: MHRYXBGSR3XV3WZMOT4OPHGNV3CJ6YLV X-Message-ID-Hash: MHRYXBGSR3XV3WZMOT4OPHGNV3CJ6YLV 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 1/3] mptcp: add tracepoint for mptcp_subflow_get_send List-Id: Discussions regarding MPTCP upstreaming Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: This patch added the tracepoint for the packet scheduler function mptcp_subflow_get_send. Signed-off-by: Geliang Tang --- include/trace/events/mptcp.h | 45 ++++++++++++++++++++++++++++++++++++ net/mptcp/protocol.c | 9 +++++--- 2 files changed, 51 insertions(+), 3 deletions(-) create mode 100644 include/trace/events/mptcp.h diff --git a/include/trace/events/mptcp.h b/include/trace/events/mptcp.h new file mode 100644 index 000000000000..b36b308f48e2 --- /dev/null +++ b/include/trace/events/mptcp.h @@ -0,0 +1,45 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#undef TRACE_SYSTEM +#define TRACE_SYSTEM mptcp + +#if !defined(_TRACE_MPTCP_H) || defined(TRACE_HEADER_MULTI_READ) +#define _TRACE_MPTCP_H + +#include + +TRACE_EVENT(mptcp_subflow_get_send, + + TP_PROTO(struct mptcp_sock *msk, int nr_active, + struct sock *ssk_0, u64 ratio_0, + struct sock *ssk_1, u64 ratio_1), + + TP_ARGS(msk, nr_active, ssk_0, ratio_0, ssk_1, ratio_1), + + TP_STRUCT__entry( + __field(const void *, msk) + __field(__u32, nr_active) + __field(const void *, ssk_0) + __field(__u64, ratio_0) + __field(const void *, ssk_1) + __field(__u64, ratio_1) + ), + + TP_fast_assign( + __entry->msk = msk; + __entry->nr_active = nr_active; + __entry->ssk_0 = ssk_0; + __entry->ratio_0 = ratio_0; + __entry->ssk_1 = ssk_1; + __entry->ratio_1 = ratio_1; + ), + + TP_printk("msk=%p nr_active=%d ssk=%p:%lld backup=%p:%lld", + __entry->msk, __entry->nr_active, + __entry->ssk_0, __entry->ratio_0, + __entry->ssk_1, __entry->ratio_1) +); + +#endif /* _TRACE_MPTCP_H */ + +/* This part must be outside protection */ +#include diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index ec808187fa0e..dff3f8c96c5d 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -27,6 +27,9 @@ #include "protocol.h" #include "mib.h" +#define CREATE_TRACE_POINTS +#include + #if IS_ENABLED(CONFIG_MPTCP_IPV6) struct mptcp6_sock { struct mptcp_sock msk; @@ -1418,9 +1421,9 @@ static struct sock *mptcp_subflow_get_send(struct mptcp_sock *msk) } } - pr_debug("msk=%p nr_active=%d ssk=%p:%lld backup=%p:%lld", - msk, nr_active, send_info[0].ssk, send_info[0].ratio, - send_info[1].ssk, send_info[1].ratio); + trace_mptcp_subflow_get_send(msk, nr_active, + send_info[0].ssk, send_info[0].ratio, + send_info[1].ssk, send_info[1].ratio); /* pick the best backup if no other subflow is active */ if (!nr_active) From patchwork Mon Feb 22 07:30:32 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Geliang Tang X-Patchwork-Id: 1442956 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=irsoysMr; 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 4DkYkc0Zggz9sBJ for ; Mon, 22 Feb 2021 18:30:48 +1100 (AEDT) Received: from ml01.vlan13.01.org (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id A349E100EBB6E; Sun, 21 Feb 2021 23:30:46 -0800 (PST) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2607:f8b0:4864:20::52f; helo=mail-pg1-x52f.google.com; envelope-from=geliangtang@gmail.com; receiver= Received: from mail-pg1-x52f.google.com (mail-pg1-x52f.google.com [IPv6:2607:f8b0:4864:20::52f]) (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 1E109100EBB6B for ; Sun, 21 Feb 2021 23:30:44 -0800 (PST) Received: by mail-pg1-x52f.google.com with SMTP id p21so9686567pgl.12 for ; Sun, 21 Feb 2021 23:30:44 -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=WT9UO3UZp3g2M4fJsb+XKE0MQLI4SwuorVdfnyNxdLk=; b=irsoysMr86bYpkSvvaVXd2H2Vnq0ZjUlIVPHbO4qF8I+cTl6J51GRNWAMsCU5lIhjJ ZQWwFYnn0N5tKqbEWXWT21Z3xcXgHiVwxnp9Lkp8JdcVddpnJm/SNhYpQu1W1HtYjK+g n8ecUTEKtVbSkxwgmi8V89K7YJhGT4/BMhHHf2JjSUIp9Z1IyHext0Wl4PgwfyNESkZz P5isPrJpjdg099Fzy++LVCY7N228lu6wHkGvMDi88fY4kIHbEUPIzlbX4by6+cMbk2vY tjxcFYCBSXpkAgw0wVOOLo3wy7F3Q8tnIngXKVkDtHSC9eas1uRlFdViWRV9toSL7H+n PJkQ== 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=WT9UO3UZp3g2M4fJsb+XKE0MQLI4SwuorVdfnyNxdLk=; b=GiAKOXkbsjpjwDEy+IRDjWPoYF4bDbBhBXdNU/hp7Sl8eoIIBXDsaG05Hdb2IYfU1Q vLS63XgLvXl9MwlL9FpQ97CElwmVWgSOGl+OsfreofYoyCwN22ikRmilFU5s6AuQV/vf h/uLlNVFAUppp5bH6b6dATAAY4M3SSQwwDu+FQw3hZqHOm9zrRASyM9PfhnSmSWqknuY aHx2iFopz/Kz1dJcMY6FP0VvrPL1A4vDlMrLU1qQh5Lju0m7JVl21I2/x6bg31FRP9Fa roUlseVArgwDAGghoYfPAhkXgc0iGUnxCvtEQwYbl1AdCrc5AJSekMwWy/KGkQ2CGXEF Dn4g== X-Gm-Message-State: AOAM532dO2XTzofjK3fFz+qBQ6RHCoWsreUVAxtDycQgOxjPcs9VWKBc IZwYtJXy02quCUfjteymsAx7fCKsb1hQlw== X-Google-Smtp-Source: ABdhPJz3n7k+flfL6RKx9nVjWneob6m7vMG1VSEL049T6ROqMxavlKnlFUD0SecQCS/K+EvW3VrPVg== X-Received: by 2002:a05:6a00:1356:b029:1ca:9a78:b2ae with SMTP id k22-20020a056a001356b02901ca9a78b2aemr20622327pfu.64.1613979043325; Sun, 21 Feb 2021 23:30:43 -0800 (PST) Received: from localhost ([43.224.245.180]) by smtp.gmail.com with ESMTPSA id iq6sm17162621pjb.6.2021.02.21.23.30.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 21 Feb 2021 23:30:42 -0800 (PST) From: Geliang Tang To: mptcp@lists.01.org Date: Mon, 22 Feb 2021 15:30:32 +0800 Message-Id: <0db05b909b602f18d84f07de6a8641eaa9daf070.1613978710.git.geliangtang@gmail.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <38cfc37b362365f951585f9fda3031896f734e01.1613978710.git.geliangtang@gmail.com> References: <38cfc37b362365f951585f9fda3031896f734e01.1613978710.git.geliangtang@gmail.com> MIME-Version: 1.0 Message-ID-Hash: GA5UXJJPURNK7NDVWFIRMTNGNXRFLRHM X-Message-ID-Hash: GA5UXJJPURNK7NDVWFIRMTNGNXRFLRHM 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 2/3] mptcp: add tracepoint for get_mapping_status List-Id: Discussions regarding MPTCP upstreaming Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: This patch added the tracepoint for the mapping status function get_mapping_status. Signed-off-by: Geliang Tang --- include/trace/events/mptcp.h | 51 ++++++++++++++++++++++++++++++++++++ net/mptcp/subflow.c | 13 +++------ 2 files changed, 54 insertions(+), 10 deletions(-) diff --git a/include/trace/events/mptcp.h b/include/trace/events/mptcp.h index b36b308f48e2..f06a7d33b237 100644 --- a/include/trace/events/mptcp.h +++ b/include/trace/events/mptcp.h @@ -39,6 +39,57 @@ TRACE_EVENT(mptcp_subflow_get_send, __entry->ssk_1, __entry->ratio_1) ); +TRACE_EVENT(get_mapping_status, + + TP_PROTO(struct mptcp_ext *mpext), + + TP_ARGS(mpext), + + TP_STRUCT__entry( + __array(char, str, 128) + ), + + TP_fast_assign( + memset(__entry->str, 0, 128); + + if (!mpext) { + sprintf(__entry->str, "mpext is NULL"); + } else { + if (!mpext->data_len) { + sprintf(__entry->str, "Infinite mapping not handled"); + } else { + if (mpext->data_fin == 1) { + if (mpext->data_len == 1) { + sprintf(__entry->str, + "data_fin: with no payload seq=%llu", + mpext->data_seq); + } else { + sprintf(__entry->str, + "data_fin: with mapping seq=%llu dsn64=%d", + mpext->data_seq + mpext->data_len - 1, + mpext->dsn64); + } + } + + if (mpext->use_map) { + sprintf(__entry->str + strlen(__entry->str), + "use_map: dsn64=%d data_seq=%llu subflow_seq=%u data_len=%u", + mpext->dsn64, mpext->data_seq, + mpext->subflow_seq, mpext->data_len); + } + + if (mpext->use_ack) { + sprintf(__entry->str + strlen(__entry->str), + "use_ack: ack64=%d data_ack=%llu", + mpext->ack64, mpext->data_ack); + } + } + } + ), + + TP_printk("%s", __entry->str) +); + #endif /* _TRACE_MPTCP_H */ /* This part must be outside protection */ diff --git a/net/mptcp/subflow.c b/net/mptcp/subflow.c index 82ec174e2bac..6f4145abd85e 100644 --- a/net/mptcp/subflow.c +++ b/net/mptcp/subflow.c @@ -27,6 +27,8 @@ static void mptcp_subflow_ops_undo_override(struct sock *ssk); +#include + static void SUBFLOW_REQ_INC_STATS(struct request_sock *req, enum linux_mptcp_mib_field field) { @@ -808,6 +810,7 @@ static enum mapping_status get_mapping_status(struct sock *ssk, return MAPPING_DUMMY; mpext = mptcp_get_ext(skb); + trace_get_mapping_status(mpext); if (!mpext || !mpext->use_map) { if (!subflow->map_valid && !skb->len) { /* the TCP stack deliver 0 len FIN pkt to the receive @@ -829,10 +832,6 @@ static enum mapping_status get_mapping_status(struct sock *ssk, goto validate_seq; } - pr_debug("seq=%llu is64=%d ssn=%u data_len=%u data_fin=%d", - mpext->data_seq, mpext->dsn64, mpext->subflow_seq, - mpext->data_len, mpext->data_fin); - data_len = mpext->data_len; if (data_len == 0) { pr_err("Infinite mapping not handled"); @@ -844,7 +843,6 @@ static enum mapping_status get_mapping_status(struct sock *ssk, if (data_len == 1) { bool updated = mptcp_update_rcv_data_fin(msk, mpext->data_seq, mpext->dsn64); - pr_debug("DATA_FIN with no payload seq=%llu", mpext->data_seq); if (subflow->map_valid) { /* A DATA_FIN might arrive in a DSS * option before the previous mapping @@ -869,8 +867,6 @@ static enum mapping_status get_mapping_status(struct sock *ssk, data_fin_seq &= GENMASK_ULL(31, 0); mptcp_update_rcv_data_fin(msk, data_fin_seq, mpext->dsn64); - pr_debug("DATA_FIN with mapping seq=%llu dsn64=%d", - data_fin_seq, mpext->dsn64); } /* Adjust for DATA_FIN using 1 byte of sequence space */ @@ -912,9 +908,6 @@ static enum mapping_status get_mapping_status(struct sock *ssk, subflow->map_data_len = data_len; subflow->map_valid = 1; subflow->mpc_map = mpext->mpc_map; - pr_debug("new map seq=%llu subflow_seq=%u data_len=%u", - subflow->map_seq, subflow->map_subflow_seq, - subflow->map_data_len); validate_seq: /* we revalidate valid mapping on new skb, because we must ensure 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;