From patchwork Mon Feb 19 19:56:49 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Dumazet X-Patchwork-Id: 875294 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@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; dkim=pass (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.b="UTBy+wGR"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3zlZKD1bDfz9ryG for ; Tue, 20 Feb 2018 06:57:20 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932148AbeBST5Q (ORCPT ); Mon, 19 Feb 2018 14:57:16 -0500 Received: from mail-pg0-f68.google.com ([74.125.83.68]:44731 "EHLO mail-pg0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932139AbeBST5O (ORCPT ); Mon, 19 Feb 2018 14:57:14 -0500 Received: by mail-pg0-f68.google.com with SMTP id l4so4088078pgp.11 for ; Mon, 19 Feb 2018 11:57:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=rwpHZexPnw/2G8cwV17UA8oQnCwuA8BSKPKKEtV8ez8=; b=UTBy+wGRLizuWS3wAA7OnwgC10MRneAdY8IS0lGAtVVHLJgwc+cnA3UnBe1bjM+3wi gDJ3eR1RiVUg/0A2rd1DCjxzoVCA+4kSGWKtwH0iBEjBItRpcBWsaCHGh0Lioghs863+ kvWap1Wyel9cVO0Qao9IcAJqEOnmVVe5vDb0rQa+HjUk73e9YoDuQxpEri390SVckq4D YVgIQsnGiWb+H7gPctQdNqUF+3WYcy0NjR8WCGtMJKZunRhXqq3qKiTpuiHXNibg9ygR QL9y/nY/xZ7JHyc8vUkST15DcOEbBbNCC1de5/3fIELeoaZp+vnjkrfyu7/kCo0ZY3hy rbvw== 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=rwpHZexPnw/2G8cwV17UA8oQnCwuA8BSKPKKEtV8ez8=; b=eYA9jGI1O6SBIEakZbslCzyKlu4k7amOnkZOXos4S+GtM1KSd8Tgy1zKbLwz91fu7H PG9dBgm4nsCixgBWMc+scOS5duNlCWfOlF+qW6NNiVp59jcyWBBfNpnhGyWWTaD5J3F3 2+pSQsCTs2qymkv9Ry7qSkla4TkNCFYLAS1Ehnhn8Y8sNVEU3B5yKXTIZWn8dWW+2hie bEanUeAwBZ4eAoDnbhj9S1W8IVc7uE1vP5xLbLESoulhVWL8VbS1pLF05P/39hRpqiah dmsby14QHkNpJGfgvso+iQLHjH/ApwGoXCJSUUaTBb2jdGiGdoixAKmyW791wDPY0tre EvKw== X-Gm-Message-State: APf1xPCEuzGfQnvLBhfU2fIJ+hbgxu2Y66v/86Q/6rNi/0BXgKIBN7yw qyMwNtu912YqnQOi4GnEg/Pgmw== X-Google-Smtp-Source: AH8x225hIE4JwlSF+CK9leQBAX6T6T3oTZkMzBEtOTpa5WE+tpoYxNRqqJ/gMB2qlun1TB+c0SwoPw== X-Received: by 10.99.60.72 with SMTP id i8mr12963808pgn.399.1519070233520; Mon, 19 Feb 2018 11:57:13 -0800 (PST) Received: from localhost ([100.116.160.159]) by smtp.gmail.com with ESMTPSA id u3sm41484579pgo.62.2018.02.19.11.57.12 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 19 Feb 2018 11:57:12 -0800 (PST) From: Eric Dumazet To: "David S . Miller" Cc: netdev , Neal Cardwell , Yuchung Cheng , Soheil Hassas Yeganeh , Eric Dumazet , Oleksandr Natalenko , Eric Dumazet Subject: [PATCH net-next 3/6] tcp: remove sk_check_csum_caps() Date: Mon, 19 Feb 2018 11:56:49 -0800 Message-Id: <20180219195652.242663-4-edumazet@google.com> X-Mailer: git-send-email 2.16.1.291.g4437f3f132-goog In-Reply-To: <20180219195652.242663-1-edumazet@google.com> References: <20180219195652.242663-1-edumazet@google.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Since TCP relies on GSO, we do not need this helper anymore. Signed-off-by: Eric Dumazet --- include/net/sock.h | 9 --------- net/ipv4/tcp.c | 11 +++-------- 2 files changed, 3 insertions(+), 17 deletions(-) diff --git a/include/net/sock.h b/include/net/sock.h index f0f576ff5603eb0f282f37fbf76138a9bdd0f724..b9624581d639ff7f1f9466d7e7cd50c6b87cabf5 100644 --- a/include/net/sock.h +++ b/include/net/sock.h @@ -1863,15 +1863,6 @@ static inline void sk_nocaps_add(struct sock *sk, netdev_features_t flags) sk->sk_route_caps &= ~flags; } -static inline bool sk_check_csum_caps(struct sock *sk) -{ - return (sk->sk_route_caps & NETIF_F_HW_CSUM) || - (sk->sk_family == PF_INET && - (sk->sk_route_caps & NETIF_F_IP_CSUM)) || - (sk->sk_family == PF_INET6 && - (sk->sk_route_caps & NETIF_F_IPV6_CSUM)); -} - static inline int skb_do_copy_data_nocache(struct sock *sk, struct sk_buff *skb, struct iov_iter *from, char *to, int copy, int offset) diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index 6f35c12af85aaed5bbed5090c7d7e63a952b8dab..7c41402718876ef8adc7dc90cd51994e6a4fded9 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c @@ -1063,8 +1063,7 @@ EXPORT_SYMBOL_GPL(do_tcp_sendpages); int tcp_sendpage_locked(struct sock *sk, struct page *page, int offset, size_t size, int flags) { - if (!(sk->sk_route_caps & NETIF_F_SG) || - !sk_check_csum_caps(sk)) + if (!(sk->sk_route_caps & NETIF_F_SG)) return sock_no_sendpage_locked(sk, page, offset, size, flags); tcp_rate_check_app_limited(sk); /* is sending application-limited? */ @@ -1190,7 +1189,7 @@ int tcp_sendmsg_locked(struct sock *sk, struct msghdr *msg, size_t size) goto out_err; } - zc = sk_check_csum_caps(sk) && sk->sk_route_caps & NETIF_F_SG; + zc = sk->sk_route_caps & NETIF_F_SG; if (!zc) uarg->zerocopy = 0; } @@ -1287,11 +1286,7 @@ int tcp_sendmsg_locked(struct sock *sk, struct msghdr *msg, size_t size) goto wait_for_memory; process_backlog = true; - /* - * Check whether we can use HW checksum. - */ - if (sk_check_csum_caps(sk)) - skb->ip_summed = CHECKSUM_PARTIAL; + skb->ip_summed = CHECKSUM_PARTIAL; skb_entail(sk, skb); copy = size_goal;