Received: by 2002:a25:ca44:0:0:0:0:0 with SMTP id a65csp289276ybg; Sun, 26 Jul 2020 04:43:09 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzyy3A1UrQj3gFNseFeGthtbkf6aZR9/zxBGXl2XiPFggywXVNE6H4ae0ZVHdnCB70FNvUN X-Received: by 2002:a17:906:1704:: with SMTP id c4mr17491101eje.525.1595763789412; Sun, 26 Jul 2020 04:43:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595763789; cv=none; d=google.com; s=arc-20160816; b=JsXj7JiPt1CHGXKdGtXIkfYZEstePeKT4ciwUj36/WxQydzgKYxdQV+Fs/KElTHEMB ysINgYkUA6PBdWwSQCB1DiJFjqcJCwKTbQMUfxVRLgqUecfL+ieLadNpON77PseyuG/6 hLYuKE4EVC/BA4RtpiVwm8MwrkZnHPA4cJXOp2de1xZCH/Pee+ZgaigkbIxLv0rFUt+B 3yMGSz4O2YpY7RzrS2FuQg6Sf9wLZOLSiizxdZNqi1r3dZaJjpDYD0AKksqgh87KMVNz 2JAC4T5aokzi90UA5k3LpAmO6IJcbXFlXhPr2VwrxFlYpFxo9/p0cwqosbRAvV/fhATC FQtQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=4NsnLtIn7M3eNwSeX9SwXCM3jXeWp3fDmpu0SSbtJZA=; b=kH66a/+XcTxKr0uX0XlOqx32c5XLTXVa71WpX4JUSOcVlQ5WXMk0zzM5/6Vgt2YErV 3ZDvWTaXiHC+drLWNYuxLZsrygY8CsHwg1+HEzaINxPJfWwR2Lmq+lyCheEXjT68AD4q l1BZjGelbl5xfC2YZyQ5E3zwPPDipMD7ReC4+SDNRIx8Ii8/DsFwqVzTTvzJYUVGkKc0 Hy1Qhoio1N/31OsOeUa6oXCDlil9Gj8sX4mnE1dmX7FpDczkJeHsgNO+Pa+0phIzupQy AtT/WysnA1UQoP1gWqyoGYSTbHNZo4mt98L/mZntsUESJLqNhaac09+WBvI3fueujDw4 KA5Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d2si2334529edn.359.2020.07.26.04.42.47; Sun, 26 Jul 2020 04:43:09 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728165AbgGZLkS (ORCPT + 99 others); Sun, 26 Jul 2020 07:40:18 -0400 Received: from mail3-relais-sop.national.inria.fr ([192.134.164.104]:32814 "EHLO mail3-relais-sop.national.inria.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727927AbgGZLjz (ORCPT ); Sun, 26 Jul 2020 07:39:55 -0400 X-IronPort-AV: E=Sophos;i="5.75,398,1589234400"; d="scan'208";a="355309546" Received: from palace.rsr.lip6.fr (HELO palace.lip6.fr) ([132.227.105.202]) by mail3-relais-sop.national.inria.fr with ESMTP/TLS/AES256-SHA256; 26 Jul 2020 13:39:47 +0200 From: Julia Lawall To: Saeed Mahameed Cc: kernel-janitors@vger.kernel.org, Leon Romanovsky , "David S. Miller" , Jakub Kicinski , netdev@vger.kernel.org, linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 4/7] net/mlx5: drop unnecessary list_empty Date: Sun, 26 Jul 2020 12:58:29 +0200 Message-Id: <1595761112-11003-5-git-send-email-Julia.Lawall@inria.fr> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1595761112-11003-1-git-send-email-Julia.Lawall@inria.fr> References: <1595761112-11003-1-git-send-email-Julia.Lawall@inria.fr> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org list_for_each_entry is able to handle an empty list. The only effect of avoiding the loop is not initializing the index variable. Drop list_empty tests in cases where these variables are not used. Note that list_for_each_entry is defined in terms of list_first_entry, which indicates that it should not be used on an empty list. But in list_for_each_entry, the element obtained by list_first_entry is not really accessed, only the address of its list_head field is compared to the address of the list head, so the list_first_entry is safe. The semantic patch that makes this change is as follows (with another variant for the no brace case): (http://coccinelle.lip6.fr/) @@ expression x,e; iterator name list_for_each_entry; statement S; identifier i; @@ -if (!(list_empty(x))) { list_for_each_entry(i,x,...) S - } ... when != i ? i = e Signed-off-by: Julia Lawall --- drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c | 13 ++++------ drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c | 5 +-- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c index 31abcbb..23a1172 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_matcher.c @@ -474,14 +474,13 @@ static int dr_matcher_add_to_tbl(struct mlx5dr_matcher *matcher) int ret; next_matcher = NULL; - if (!list_empty(&tbl->matcher_list)) - list_for_each_entry(tmp_matcher, &tbl->matcher_list, matcher_list) { - if (tmp_matcher->prio >= matcher->prio) { - next_matcher = tmp_matcher; - break; - } - first = false; + list_for_each_entry(tmp_matcher, &tbl->matcher_list, matcher_list) { + if (tmp_matcher->prio >= matcher->prio) { + next_matcher = tmp_matcher; + break; } + first = false; + } prev_matcher = NULL; if (next_matcher && !first) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c index cd708dc..6ec5106 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c @@ -574,9 +574,8 @@ void mlx5dr_rule_update_rule_member(struct mlx5dr_ste *ste, { struct mlx5dr_rule_member *rule_mem; - if (!list_empty(&ste->rule_list)) - list_for_each_entry(rule_mem, &ste->rule_list, use_ste_list) - rule_mem->ste = new_ste; + list_for_each_entry(rule_mem, &ste->rule_list, use_ste_list) + rule_mem->ste = new_ste; } static void dr_rule_clean_rule_members(struct mlx5dr_rule *rule,