From patchwork Mon May 28 15:35:52 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yafang Shao X-Patchwork-Id: 921600 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="ROpvqTBG"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40vgvQ3jqrz9s15 for ; Tue, 29 May 2018 01:36:50 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S968854AbeE1PgY (ORCPT ); Mon, 28 May 2018 11:36:24 -0400 Received: from mail-pg0-f67.google.com ([74.125.83.67]:43057 "EHLO mail-pg0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S968791AbeE1PgS (ORCPT ); Mon, 28 May 2018 11:36:18 -0400 Received: by mail-pg0-f67.google.com with SMTP id p8-v6so5404907pgq.10; Mon, 28 May 2018 08:36:18 -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; bh=MBvOJol/rKNolXyQVGFIkkejRvAKn3SlHc1WjGwFIhQ=; b=ROpvqTBG0S2kg45bnduhlTSML9GMdeRqvoSVHKVIst1gg0JhAqAMS6FoNw0I87/9/R CB6Zk5/eL/zcPTShjHwOk3EzyMvPHqhre2MscKpZAru8JLfjD93cZYNZtSwn4MMa+XmT 1MQd1Y1SjsL+pMaxKgBLWNpMrdRLRxD8o3zbTXGL+aVjtZI/oN9Z/+iEu8D/NZu8xwlv kdAxtN8glddH2To+ulDjotgEb6DXWPp4Q0mXgOFeUABQRwNL/ZQlGMJjPQN1g49T1Y+A 2JHr1xNt/RvVmowv/oqVxHmCFhQCOTgKypFLCLrwA9LmLIE4WRAqtOV+E28DcGE/fGY6 jTNw== 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; bh=MBvOJol/rKNolXyQVGFIkkejRvAKn3SlHc1WjGwFIhQ=; b=dezwJlmE2AiXHsh7WfRAK/CZoNKYHiMkuOLy98x6Aa3zBEImr/lYX4vPTYiVJdH0CD 8dhc0mWWl6/VnAtHzjBNBQYVuArDcEO4aXRsAS9PKAc50vY/FbuP8yAqTS4UrAlTvbcx QogkWBpClVW8dkTPXHxLp+XSPY9zvLWPaG7iAkFfmadxCtf4A0RWtsa+Gp6cRu7S6PxM SBWpy9KxA/bjqakrIT8eRxVlxV293I0YsAnuLARSd2Dx3EdkvyD+BE2Z6wQ3EAo56vhP 03+t8ONy2jjkDvlwMMvcBwmpu2cIeeIGvTtG1veCeulRlA0LUL/pFuOeqVDvPsIQMPsz qqyA== X-Gm-Message-State: ALKqPwcXlkMab3OECDytwVvKGP5PFJcdESCgcJIZ4Xhm83zxKKQoafrJ eSvQoadLmLL8n6nrkyOqQoo= X-Google-Smtp-Source: AB8JxZqEaBKQNug7dkm/cLBPvX+s9heDHVMvc68JjKBtNiF3z+lhqOEQdHI6JlvBZ+g4d6bJDaGBlA== X-Received: by 2002:a62:c00e:: with SMTP id x14-v6mr13823569pff.67.1527521778176; Mon, 28 May 2018 08:36:18 -0700 (PDT) Received: from li1588-6.members.linode.com (li1588-6.members.linode.com. [139.162.104.6]) by smtp.gmail.com with ESMTPSA id n10-v6sm71302232pfk.145.2018.05.28.08.36.16 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 28 May 2018 08:36:17 -0700 (PDT) From: Yafang Shao To: songliubraving@fb.com, edumazet@google.com, davem@davemloft.net Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Yafang Shao Subject: [PATCH v3 net-next 1/2] tcp: use data length instead of skb->len in tcp_probe Date: Mon, 28 May 2018 23:35:52 +0800 Message-Id: <1527521753-17963-1-git-send-email-laoar.shao@gmail.com> X-Mailer: git-send-email 1.8.3.1 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org At this point skb->len is including tcp header length, so it is meaningless to user. data length could be more helpful, with which we can easily filter out the packet without payload. Cc: Eric Dumazet Acked-by: Song Liu Signed-off-by: Yafang Shao --- v3: tcp_hdr() is a little expensive than skb->data, so replace it with skb->data. Signed-off-by: Yafang Shao --- include/trace/events/tcp.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/include/trace/events/tcp.h b/include/trace/events/tcp.h index c1a5284..7ff0446 100644 --- a/include/trace/events/tcp.h +++ b/include/trace/events/tcp.h @@ -236,7 +236,7 @@ __field(__u16, sport) __field(__u16, dport) __field(__u32, mark) - __field(__u16, length) + __field(__u16, data_len) __field(__u32, snd_nxt) __field(__u32, snd_una) __field(__u32, snd_cwnd) @@ -250,6 +250,7 @@ TP_fast_assign( const struct tcp_sock *tp = tcp_sk(sk); const struct inet_sock *inet = inet_sk(sk); + const struct tcphdr *th = (const struct tcphdr *)skb->data; memset(__entry->saddr, 0, sizeof(struct sockaddr_in6)); memset(__entry->daddr, 0, sizeof(struct sockaddr_in6)); @@ -261,7 +262,7 @@ __entry->dport = ntohs(inet->inet_dport); __entry->mark = skb->mark; - __entry->length = skb->len; + __entry->data_len = skb->len - __tcp_hdrlen(th); __entry->snd_nxt = tp->snd_nxt; __entry->snd_una = tp->snd_una; __entry->snd_cwnd = tp->snd_cwnd; @@ -272,9 +273,9 @@ __entry->sock_cookie = sock_gen_cookie(sk); ), - TP_printk("src=%pISpc dest=%pISpc mark=%#x length=%d snd_nxt=%#x snd_una=%#x snd_cwnd=%u ssthresh=%u snd_wnd=%u srtt=%u rcv_wnd=%u sock_cookie=%llx", + TP_printk("src=%pISpc dest=%pISpc mark=%#x data_len=%d snd_nxt=%#x snd_una=%#x snd_cwnd=%u ssthresh=%u snd_wnd=%u srtt=%u rcv_wnd=%u sock_cookie=%llx", __entry->saddr, __entry->daddr, __entry->mark, - __entry->length, __entry->snd_nxt, __entry->snd_una, + __entry->data_len, __entry->snd_nxt, __entry->snd_una, __entry->snd_cwnd, __entry->ssthresh, __entry->snd_wnd, __entry->srtt, __entry->rcv_wnd, __entry->sock_cookie) ); From patchwork Mon May 28 15:35:53 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yafang Shao X-Patchwork-Id: 921601 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="NAmtqIXq"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40vgvr4KbZz9rxs for ; Tue, 29 May 2018 01:37:12 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1034586AbeE1PhB (ORCPT ); Mon, 28 May 2018 11:37:01 -0400 Received: from mail-pf0-f196.google.com ([209.85.192.196]:35914 "EHLO mail-pf0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S968825AbeE1PgU (ORCPT ); Mon, 28 May 2018 11:36:20 -0400 Received: by mail-pf0-f196.google.com with SMTP id w129-v6so6000819pfd.3; Mon, 28 May 2018 08:36:20 -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; bh=RYgnsgGDH2DZGlCutnwcznc4ECzEmCQZwkM3Ku89Vn8=; b=NAmtqIXqfgW2604H3BryYU+jqPowK7XP4tzOEXaa4Qo8LTx8dToM9f/vixiq9w6AGE 9qchayw3mgcXq3nMbo+Tp4F5FkcJby9m26B2fR0n7QqR8m4NJnCjXmrlOFASUPGRBWBH /0p0nnB0AZ08p0HL659cp+7V85OvQzCw3/NQ60Ff59+BvQTWrGNXG/A0LLi7J2HELlK8 6J9XG6vh/gORtCQDGWGUedGWgnhIcogil3sh9BX5Ea/jIqLvrUNBa5S2DJwxaxOjwxFI tVCe3O25vKcADyo2g9ImmRlC8PDZZPeFVHHEPCXi42nQq80/Y01BR1tGEuq1VByOSFjN r35A== 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; bh=RYgnsgGDH2DZGlCutnwcznc4ECzEmCQZwkM3Ku89Vn8=; b=FJp7ZNuX7pYMl8PQiZtd+FtNpWKFuz75zXyIXK45i9FTiz2wx7qxtATrdsQYQP9oNY t3qjtP4GiCygUZXP295CHJaXP0LVTQgsuWeuoANtcQOk+2ZuQDOp3n6BpJCxoLKM0rGh mUpyfnyyKhoYosZl3oM7DlqDcw/S/D+tm28B1HcE+CJxb7Ktl2FyqKo+aSex9+YdMu8O t21pjiD7GpE6WKXf5iF5loW4xr3bJprMfbjl8OoO5zhiIfRsH1xyYFvK+GNv3kFC2rLh xDTRPvs8vxd5BOpNRQ2KCRygCtMow8wywlJaGk3E1FCUmIQnpEao1NuxPZhZ318WAcPl gkBw== X-Gm-Message-State: ALKqPwfLXSNJ6lScSadkryD12jdNePjdCqIi2dxsmv3rsGfgRjtlqhkZ GJfttYaTa3rNyxuarPkfHRo= X-Google-Smtp-Source: AB8JxZrWwhATwQct+t2cdadFyfYGYkJACxpX8pf3mxLC3MozD77AHob7QTMTHzxY18sGeGabwkO4vw== X-Received: by 2002:a62:7f91:: with SMTP id a139-v6mr13915580pfd.25.1527521780270; Mon, 28 May 2018 08:36:20 -0700 (PDT) Received: from li1588-6.members.linode.com (li1588-6.members.linode.com. [139.162.104.6]) by smtp.gmail.com with ESMTPSA id n10-v6sm71302232pfk.145.2018.05.28.08.36.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 28 May 2018 08:36:19 -0700 (PDT) From: Yafang Shao To: songliubraving@fb.com, edumazet@google.com, davem@davemloft.net Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Yafang Shao Subject: [PATCH v3 net-next 2/2] tcp: minor optimization around tcp_hdr() usage in tcp receive path Date: Mon, 28 May 2018 23:35:53 +0800 Message-Id: <1527521753-17963-2-git-send-email-laoar.shao@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1527521753-17963-1-git-send-email-laoar.shao@gmail.com> References: <1527521753-17963-1-git-send-email-laoar.shao@gmail.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org This is additional to the commit ea1627c20c34 ("tcp: minor optimizations around tcp_hdr() usage"). At this point, skb->data is same with tcp_hdr() as tcp header has not been pulled yet. Cc: Eric Dumazet Signed-off-by: Yafang Shao --- net/ipv4/tcp_ipv4.c | 2 +- net/ipv6/tcp_ipv6.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index adbdb50..d179386 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c @@ -1486,7 +1486,7 @@ int tcp_v4_do_rcv(struct sock *sk, struct sk_buff *skb) sk->sk_rx_dst = NULL; } } - tcp_rcv_established(sk, skb, tcp_hdr(skb)); + tcp_rcv_established(sk, skb, (const struct tcphdr *)skb->data); return 0; } diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c index 7d47c2b..1c633ff 100644 --- a/net/ipv6/tcp_ipv6.c +++ b/net/ipv6/tcp_ipv6.c @@ -1322,7 +1322,7 @@ static int tcp_v6_do_rcv(struct sock *sk, struct sk_buff *skb) } } - tcp_rcv_established(sk, skb, tcp_hdr(skb)); + tcp_rcv_established(sk, skb, (const struct tcphdr *)skb->data); if (opt_skb) goto ipv6_pktoptions; return 0;