From patchwork Wed Nov 6 06:26:09 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hoang Huu Le X-Patchwork-Id: 1190141 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 (no SPF record) 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=none (p=none dis=none) header.from=dektech.com.au Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=dektech.com.au header.i=@dektech.com.au header.b="oJefkvls"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 477GlJ65Gxz9sPk for ; Wed, 6 Nov 2019 17:26:36 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730994AbfKFG0a (ORCPT ); Wed, 6 Nov 2019 01:26:30 -0500 Received: from f0-dek.dektech.com.au ([210.10.221.142]:32979 "EHLO mail.dektech.com.au" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725995AbfKFG03 (ORCPT ); Wed, 6 Nov 2019 01:26:29 -0500 Received: from localhost (localhost [127.0.0.1]) by mail.dektech.com.au (Postfix) with ESMTP id 6103C4AAC6; Wed, 6 Nov 2019 17:26:24 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=dektech.com.au; h=content-transfer-encoding:mime-version:x-mailer:message-id :date:date:subject:subject:from:from:received:received:received; s=mail_dkim; t=1573021584; bh=jI0AGYhJquj9/cmKZ5Y8DmCDwYuP1OnHc itq87VvODs=; b=oJefkvlsE2sD17FgNfZUfBTvirzoP8jwKvYY7TZCl5pLIqcV1 Qlg3M6oG+T8HfQm8LwY/7gX779ffCTcJwSCdCWu/Gq8TZbMLbq+QMb+NciFRhKMc 3eRGxLpZxbQW7r6a60rouztyPBYzXMYbzq4BECuxYav4h1T+GJjgkMdoPE= X-Virus-Scanned: amavisd-new at dektech.com.au Received: from mail.dektech.com.au ([127.0.0.1]) by localhost (mail2.dektech.com.au [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id Q-LKzfX5ulxZ; Wed, 6 Nov 2019 17:26:24 +1100 (AEDT) Received: from mail.dektech.com.au (localhost [127.0.0.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.dektech.com.au (Postfix) with ESMTPS id 3A0D64AAC5; Wed, 6 Nov 2019 17:26:24 +1100 (AEDT) Received: from dhost.dek-tpc.internal (unknown [14.161.14.188]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.dektech.com.au (Postfix) with ESMTPSA id 473114AAC4; Wed, 6 Nov 2019 17:26:23 +1100 (AEDT) From: Hoang Le To: jon.maloy@ericsson.com, maloy@donjonn.com, netdev@vger.kernel.org, tipc-discussion@lists.sourceforge.net Subject: [net-next 1/2] tipc: update cluster capabilities if node deleted Date: Wed, 6 Nov 2019 13:26:09 +0700 Message-Id: <20191106062610.12039-1-hoang.h.le@dektech.com.au> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org There are two improvements when re-calculate cluster capabilities: - When deleting a specific down node, need to re-calculate. - In tipc_node_cleanup(), do not need to re-calculate if node is still existing in cluster. Acked-by: Jon Maloy Signed-off-by: Hoang Le Acked-by: Jon --- net/tipc/node.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/net/tipc/node.c b/net/tipc/node.c index 742c04756d72..a20fabd09e7e 100644 --- a/net/tipc/node.c +++ b/net/tipc/node.c @@ -665,6 +665,11 @@ static bool tipc_node_cleanup(struct tipc_node *peer) } tipc_node_write_unlock(peer); + if (!deleted) { + spin_unlock_bh(&tn->node_list_lock); + return deleted; + } + /* Calculate cluster capabilities */ tn->capabilities = TIPC_NODE_CAPABILITIES; list_for_each_entry_rcu(temp_node, &tn->node_list, list) { @@ -2041,7 +2046,7 @@ int tipc_nl_peer_rm(struct sk_buff *skb, struct genl_info *info) struct net *net = sock_net(skb->sk); struct tipc_net *tn = net_generic(net, tipc_net_id); struct nlattr *attrs[TIPC_NLA_NET_MAX + 1]; - struct tipc_node *peer; + struct tipc_node *peer, *temp_node; u32 addr; int err; @@ -2082,6 +2087,11 @@ int tipc_nl_peer_rm(struct sk_buff *skb, struct genl_info *info) tipc_node_write_unlock(peer); tipc_node_delete(peer); + /* Calculate cluster capabilities */ + tn->capabilities = TIPC_NODE_CAPABILITIES; + list_for_each_entry_rcu(temp_node, &tn->node_list, list) { + tn->capabilities &= temp_node->capabilities; + } err = 0; err_out: tipc_node_put(peer); From patchwork Wed Nov 6 06:26:10 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hoang Huu Le X-Patchwork-Id: 1190140 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 (no SPF record) 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=none (p=none dis=none) header.from=dektech.com.au Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=dektech.com.au header.i=@dektech.com.au header.b="iF2mVZ9i"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 477GlG3bj1z9sPK for ; Wed, 6 Nov 2019 17:26:34 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731008AbfKFG0a (ORCPT ); Wed, 6 Nov 2019 01:26:30 -0500 Received: from f0-dek.dektech.com.au ([210.10.221.142]:33034 "EHLO mail.dektech.com.au" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728112AbfKFG0a (ORCPT ); Wed, 6 Nov 2019 01:26:30 -0500 Received: from localhost (localhost [127.0.0.1]) by mail.dektech.com.au (Postfix) with ESMTP id 1E5DD4AAC4; Wed, 6 Nov 2019 17:26:25 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=dektech.com.au; h=content-transfer-encoding:mime-version:references:in-reply-to :x-mailer:message-id:date:date:subject:subject:from:from :received:received:received; s=mail_dkim; t=1573021585; bh=aKuDm AAJbdKcZZ9OOtSSU+opMuerzV9Y+Kl9fUkR6eo=; b=iF2mVZ9ilvml9TETAHNbu 2Qp+Wm0Vw0tvhzL6VCue7QcrfhdL9Svn/eHKEI823F/tA48ffpAgmRCPCX3wOekb iPNH14pS1MEteoRdYmyTuIrN4c/SfHzLzLUC/BOa88zBZpFO/l3WdxfbLW9cVQYh UnGUeHxO1/5pjhVbi4/ldQ= X-Virus-Scanned: amavisd-new at dektech.com.au Received: from mail.dektech.com.au ([127.0.0.1]) by localhost (mail2.dektech.com.au [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 9c1vEbRdsgyF; Wed, 6 Nov 2019 17:26:25 +1100 (AEDT) Received: from mail.dektech.com.au (localhost [127.0.0.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.dektech.com.au (Postfix) with ESMTPS id 047DA4AAC5; Wed, 6 Nov 2019 17:26:25 +1100 (AEDT) Received: from dhost.dek-tpc.internal (unknown [14.161.14.188]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.dektech.com.au (Postfix) with ESMTPSA id 459354AAC4; Wed, 6 Nov 2019 17:26:24 +1100 (AEDT) From: Hoang Le To: jon.maloy@ericsson.com, maloy@donjonn.com, netdev@vger.kernel.org, tipc-discussion@lists.sourceforge.net Subject: [net-next 2/2] tipc: reduce sensitive to retransmit failures Date: Wed, 6 Nov 2019 13:26:10 +0700 Message-Id: <20191106062610.12039-2-hoang.h.le@dektech.com.au> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191106062610.12039-1-hoang.h.le@dektech.com.au> References: <20191106062610.12039-1-hoang.h.le@dektech.com.au> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org With huge cluster (e.g >200nodes), the amount of that flow: gap -> retransmit packet -> acked will take time in case of STATE_MSG dropped/delayed because a lot of traffic. This lead to 1.5 sec tolerance value criteria made link easy failure around 2nd, 3rd of failed retransmission attempts. Instead of re-introduced criteria of 99 faled retransmissions to fix the issue, we increase failure detection timer to ten times tolerance value. Fixes: 77cf8edbc0e7 ("tipc: simplify stale link failure criteria") Acked-by: Jon Maloy Signed-off-by: Hoang Le Acked-by: Jon --- net/tipc/link.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/tipc/link.c b/net/tipc/link.c index 038861bad72b..2aed7a958a8c 100644 --- a/net/tipc/link.c +++ b/net/tipc/link.c @@ -1087,7 +1087,7 @@ static bool link_retransmit_failure(struct tipc_link *l, struct tipc_link *r, return false; if (!time_after(jiffies, TIPC_SKB_CB(skb)->retr_stamp + - msecs_to_jiffies(r->tolerance))) + msecs_to_jiffies(r->tolerance * 10))) return false; hdr = buf_msg(skb);