From patchwork Tue Jan 31 17:12:24 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Howells X-Patchwork-Id: 50982 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp26417wrn; Tue, 31 Jan 2023 09:18:58 -0800 (PST) X-Google-Smtp-Source: AMrXdXskw8nxItmk+r2/rtbtXimtXsi9s4AyEhhvv3QwCuRHW1kg3ihSOncx3k1FUU6By6ccNJjI X-Received: by 2002:a05:6402:5305:b0:499:8849:5fb6 with SMTP id eo5-20020a056402530500b0049988495fb6mr61833342edb.30.1675185537995; Tue, 31 Jan 2023 09:18:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1675185537; cv=none; d=google.com; s=arc-20160816; b=bHK9nqu+oPDaCjgmAbzswT5wFYoYK3TZkR2Y3hSyLQ3OaS/onEblO23uU3iXpo/DDa CKbIVszWIaSuoiQCsx6pm/P3pXZ6nDAoAJ8kAu1EsBLb3XC5COHuaNq9gtCA1mGbZd9g WX2VK6gkeHkTC2hd+ZpGonRZCbePA/6eCSRdsc3OgovKBeo1PJ7FDNYUJpsI5LHvQsPa u1u5KphGIK/3y0Ckm/V99s5KR5Qm24G8r+4PLFy695tbWPQVNr3tNQhIDe6qoOatmU6U 0cn1cHLqNE0pE5gdWlYSLtg0mHcmqpNMX78D4Bw6S+3oEhI1r98+UBM8pYbmdsH6jk9m X1YQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=zMmRZ2FHRtn2bJjGLjlAYjam0XhR/5jhivnXAcSdEhA=; b=TddpnUexMRS8xmMnj6N8PTXSOeHXfleLX7kFYQfobRDjkl8Bo3RXZFnFwu9hlemx5L MvFVQuSjA8kdiGoH0AahTkvcszAgZDsCxmZArmySYQLCc+2ovovzuNjG3x59OhYb9tov rp6QbRZ9LOEciVSiUna9ZRrElHhPyJ6F4GJr6wDGrbywJCqbZhPXNpsjOhyCot+2EZtW nChkJDpjXU7jsXPpXTZgYawhk9QCHJAxORG500zKS0LNOuVnbM9mm5BEv6fWEzheVp5V WvI9+YN26OnrMiI9Unn0M2MuQJYMF+3hkawI7KHxC7mg6xzYs+D7Jnf3gNqO5f37k1E2 Ozew== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=U5ix2B6T; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y4-20020a50eb04000000b004a0bb4dd601si16906799edp.463.2023.01.31.09.18.26; Tue, 31 Jan 2023 09:18:57 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=U5ix2B6T; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232135AbjAaROU (ORCPT + 99 others); Tue, 31 Jan 2023 12:14:20 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46490 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231997AbjAaROA (ORCPT ); Tue, 31 Jan 2023 12:14:00 -0500 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4080B422D for ; Tue, 31 Jan 2023 09:12:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1675185176; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=zMmRZ2FHRtn2bJjGLjlAYjam0XhR/5jhivnXAcSdEhA=; b=U5ix2B6TKsAhX3cgExdyBK6+FELmKAaAeo0VfB+Hl9JqeDifxXq2WWCHXOk6+2eP10gCm7 Q6pDWDAe8BoPwg6b2Nn+9+ut38LbRmq5fXI+ESeopFkewP38F5m8tdUxy1CO4Npsv46l6n i4FTaR7w41pBcmMS0PcDNrhYSsYFnhE= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-467-ITfWSNPRNJebGV_tu_1ubA-1; Tue, 31 Jan 2023 12:12:53 -0500 X-MC-Unique: ITfWSNPRNJebGV_tu_1ubA-1 Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id E1E78857A8E; Tue, 31 Jan 2023 17:12:49 +0000 (UTC) Received: from warthog.procyon.org.uk.com (unknown [10.33.36.97]) by smtp.corp.redhat.com (Postfix) with ESMTP id C784F492B05; Tue, 31 Jan 2023 17:12:48 +0000 (UTC) From: David Howells To: netdev@vger.kernel.org Cc: David Howells , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Marc Dionne , linux-afs@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH net-next 10/13] rxrpc: Remove local->defrag_sem Date: Tue, 31 Jan 2023 17:12:24 +0000 Message-Id: <20230131171227.3912130-11-dhowells@redhat.com> In-Reply-To: <20230131171227.3912130-1-dhowells@redhat.com> References: <20230131171227.3912130-1-dhowells@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756559350539984387?= X-GMAIL-MSGID: =?utf-8?q?1756559350539984387?= We no longer need local->defrag_sem as all DATA packet transmission is now done from one thread, so remove it. Signed-off-by: David Howells cc: Marc Dionne cc: linux-afs@lists.infradead.org --- net/rxrpc/ar-internal.h | 1 - net/rxrpc/local_object.c | 1 - net/rxrpc/output.c | 7 ------- 3 files changed, 9 deletions(-) diff --git a/net/rxrpc/ar-internal.h b/net/rxrpc/ar-internal.h index 2b1d0d3ca064..9e19688b0e06 100644 --- a/net/rxrpc/ar-internal.h +++ b/net/rxrpc/ar-internal.h @@ -284,7 +284,6 @@ struct rxrpc_local { struct task_struct *io_thread; struct completion io_thread_ready; /* Indication that the I/O thread started */ struct rxrpc_sock *service; /* Service(s) listening on this endpoint */ - struct rw_semaphore defrag_sem; /* control re-enablement of IP DF bit */ #ifdef CONFIG_AF_RXRPC_INJECT_RX_DELAY struct sk_buff_head rx_delay_queue; /* Delay injection queue */ #endif diff --git a/net/rxrpc/local_object.c b/net/rxrpc/local_object.c index 07d83a4e5841..7d910aee4f8c 100644 --- a/net/rxrpc/local_object.c +++ b/net/rxrpc/local_object.c @@ -108,7 +108,6 @@ static struct rxrpc_local *rxrpc_alloc_local(struct net *net, local->net = net; local->rxnet = rxrpc_net(net); INIT_HLIST_NODE(&local->link); - init_rwsem(&local->defrag_sem); init_completion(&local->io_thread_ready); #ifdef CONFIG_AF_RXRPC_INJECT_RX_DELAY skb_queue_head_init(&local->rx_delay_queue); diff --git a/net/rxrpc/output.c b/net/rxrpc/output.c index c69c31470fa8..6b2022240076 100644 --- a/net/rxrpc/output.c +++ b/net/rxrpc/output.c @@ -409,8 +409,6 @@ int rxrpc_send_data_packet(struct rxrpc_call *call, struct rxrpc_txbuf *txb) if (txb->len >= call->peer->maxdata) goto send_fragmentable; - down_read(&conn->local->defrag_sem); - txb->last_sent = ktime_get_real(); if (txb->wire.flags & RXRPC_REQUEST_ACK) rtt_slot = rxrpc_begin_rtt_probe(call, serial, rxrpc_rtt_tx_data); @@ -425,7 +423,6 @@ int rxrpc_send_data_packet(struct rxrpc_call *call, struct rxrpc_txbuf *txb) ret = do_udp_sendmsg(conn->local->socket, &msg, len); conn->peer->last_tx_at = ktime_get_seconds(); - up_read(&conn->local->defrag_sem); if (ret < 0) { rxrpc_inc_stat(call->rxnet, stat_tx_data_send_fail); rxrpc_cancel_rtt_probe(call, serial, rtt_slot); @@ -486,8 +483,6 @@ int rxrpc_send_data_packet(struct rxrpc_call *call, struct rxrpc_txbuf *txb) /* attempt to send this message with fragmentation enabled */ _debug("send fragment"); - down_write(&conn->local->defrag_sem); - txb->last_sent = ktime_get_real(); if (txb->wire.flags & RXRPC_REQUEST_ACK) rtt_slot = rxrpc_begin_rtt_probe(call, serial, rxrpc_rtt_tx_data); @@ -519,8 +514,6 @@ int rxrpc_send_data_packet(struct rxrpc_call *call, struct rxrpc_txbuf *txb) rxrpc_tx_point_call_data_frag); } rxrpc_tx_backoff(call, ret); - - up_write(&conn->local->defrag_sem); goto done; }