From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id AD42AC4332F for ; Tue, 15 Feb 2022 06:33:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234482AbiBOGdL (ORCPT ); Tue, 15 Feb 2022 01:33:11 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:44540 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234474AbiBOGdE (ORCPT ); Tue, 15 Feb 2022 01:33:04 -0500 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E293CAB45C for ; Mon, 14 Feb 2022 22:32:41 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 8344DB80764 for ; Tue, 15 Feb 2022 06:32:40 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 04102C340F4; Tue, 15 Feb 2022 06:32:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1644906759; bh=V36DAGgGDu2ZZl2rbpPvwgz8CWVd7enL6itC8+sd3TA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=PU5eMmVtB4dkP1N84wv2JOhawjUJoDRWDu/C8zuBLYjgkY2pY/WPltiz/jPMe+U1U UqttgHK+j/Wib36eURbf1u1JfLhrZsrPDYpMky+lH/3cVF/k9dPIR8BCg0ID+E9Hps 65kjhGg9HxSWl+SVNZwwRlv3hqboa0kIMONHArLSQ3LE7QYIgqFl73qPPTSY17qFQV kKih5jYqsXtwvAoxhbXnxlwoQ4GqcNarK8n5B4g/UISRgNEV0Ow1K3CrccQx4DTC1U gSqqbCU+u4HO7ETr1yxRvAAzchPwDz2nHwneT/HJn/mnKBcZMGbyHe6NmNeu9tTq48 mT1whoMMECRiQ== From: Saeed Mahameed To: "David S. Miller" , Jakub Kicinski Cc: netdev@vger.kernel.org, Tariq Toukan , Maxim Mikityanskiy , Saeed Mahameed Subject: [net-next 06/15] net/mlx5e: Use a barrier after updating txq2sq Date: Mon, 14 Feb 2022 22:32:20 -0800 Message-Id: <20220215063229.737960-7-saeed@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220215063229.737960-1-saeed@kernel.org> References: <20220215063229.737960-1-saeed@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Maxim Mikityanskiy mlx5e_build_txq_maps updates txq2sq while TX queues are stopped. Add a barrier to ensure that these changes are visible before the queues are started and mlx5e_xmit reads from txq2sq. This commit handles regular TX queues. Synchronization between HTB TX queues and mlx5e_xmit is handled in the following commit. Signed-off-by: Maxim Mikityanskiy Reviewed-by: Tariq Toukan Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c index d84d9cdbdbd4..e64c3cb15ef6 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c @@ -2688,10 +2688,10 @@ static void mlx5e_build_txq_maps(struct mlx5e_priv *priv) } if (!priv->channels.ptp) - return; + goto out; if (!test_bit(MLX5E_PTP_STATE_TX, priv->channels.ptp->state)) - return; + goto out; for (tc = 0; tc < num_tc; tc++) { struct mlx5e_ptp *c = priv->channels.ptp; @@ -2700,6 +2700,13 @@ static void mlx5e_build_txq_maps(struct mlx5e_priv *priv) priv->txq2sq[sq->txq_ix] = sq; priv->port_ptp_tc2realtxq[tc] = priv->num_tc_x_num_ch + tc; } + +out: + /* Make the change to txq2sq visible before the queue is started. + * As mlx5e_xmit runs under a spinlock, there is an implicit ACQUIRE, + * which pairs with this barrier. + */ + smp_wmb(); } static void mlx5e_update_num_tc_x_num_ch(struct mlx5e_priv *priv) -- 2.34.1