From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yongseok Koh Subject: Re: [PATCH v2 15/30] net/mlx5: add Hash Rx queue object Date: Thu, 5 Oct 2017 21:59:58 -0700 Message-ID: <20171006045956.GF19330@yongseok-MBP.local> References: Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Cc: dev@dpdk.org, adrien.mazarguil@6wind.com, ferruh.yigit@intel.com To: Nelio Laranjeiro Return-path: Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20061.outbound.protection.outlook.com [40.107.2.61]) by dpdk.org (Postfix) with ESMTP id DFB81199B6 for ; Fri, 6 Oct 2017 07:00:18 +0200 (CEST) Content-Disposition: inline In-Reply-To: List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Thu, Oct 05, 2017 at 02:49:47PM +0200, Nelio Laranjeiro wrote: [...] > +struct mlx5_hrxq* > +mlx5_priv_hrxq_get(struct priv *priv, uint8_t *rss_key, uint8_t rss_key_len, > + uint64_t hash_fields, uint16_t queues[], uint16_t queues_n) > +{ > + struct mlx5_hrxq *hrxq; > + > + LIST_FOREACH(hrxq, &priv->hrxqs, next) { > + struct mlx5_ind_table_ibv *ind_tbl; > + > + if (hrxq->rss_key_len != rss_key_len) > + continue; > + if (memcmp(hrxq->rss_key, rss_key, rss_key_len)) > + continue; > + if (hrxq->hash_fields != hash_fields) > + continue; > + ind_tbl = mlx5_priv_ind_table_ibv_get(priv, queues, queues_n); > + if (!ind_tbl) > + continue; > + if (ind_tbl != hrxq->ind_table) { > + mlx5_priv_ind_table_ibv_release(priv, ind_tbl); As one hrxq can have only one ind_tbl, it looks unnecessary to increment refcnt of ind_tbl. As long as a hrxq exist, its ind_tbl can't be destroyed. So, it's safe. How about moving up this _release() outside of this if-clause and remove _release() in _hrxq_release()? However, it is logically flawless, so Acked-by: Yongseok Koh   Thanks