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 E8636CCA47A for ; Wed, 8 Jun 2022 18:59:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233318AbiFHS7a (ORCPT ); Wed, 8 Jun 2022 14:59:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41318 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233196AbiFHS7V (ORCPT ); Wed, 8 Jun 2022 14:59:21 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4CD133BA6E for ; Wed, 8 Jun 2022 11:59:20 -0700 (PDT) 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 dfw.source.kernel.org (Postfix) with ESMTPS id DCD5B61C41 for ; Wed, 8 Jun 2022 18:59:19 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2F38FC3411F; Wed, 8 Jun 2022 18:59:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1654714759; bh=yOAWfabL83Mjvda7PA3KxosLj+h/CAYtx2RebVvEe10=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=c0ULr6reBciv6+0l71PiN/xoj0NWo+456/oVpWSJIBeLiI2AyEvmlx6In8jhcqj74 Y1yfhq7ss0q0rb1DH+/hcVLtyKEhpFUzIWWsIYKmAH7UVtVs6ARPwSBQIr0uDGO9gr F9DZ+oOZz38w6C8W97ildfZUdycyi45hwP2xI/WWfoRKnNLFKC3Q1Qr5H+nGMDDb8T SBETZnrrwr3557aHHf3ex0kvURl97Wa7PXg292UNK/N6/ESWf5BhYmwTEmkwEBQXwY rmMUEdODw8PpVluEvzdguJEhC3GeOEEceQGZYmEwTSAciJMct5Bc70Fg7olpbDzmub zOKV7P9TsNLpA== From: Saeed Mahameed To: "David S. Miller" , Jakub Kicinski , Paolo Abeni , Eric Dumazet Cc: netdev@vger.kernel.org, Feras Daoud , Roy Novich , Moshe Shemesh , Saeed Mahameed Subject: [net 5/6] net/mlx5: Rearm the FW tracer after each tracer event Date: Wed, 8 Jun 2022 11:58:54 -0700 Message-Id: <20220608185855.19818-6-saeed@kernel.org> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220608185855.19818-1-saeed@kernel.org> References: <20220608185855.19818-1-saeed@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Feras Daoud The current design does not arm the tracer if traces are available before the tracer string database is fully loaded, leading to an unfunctional tracer. This fix will rearm the tracer every time the FW triggers tracer event regardless of the tracer strings database status. Fixes: c71ad41ccb0c ("net/mlx5: FW tracer, events handling") Signed-off-by: Feras Daoud Signed-off-by: Roy Novich Reviewed-by: Moshe Shemesh Signed-off-by: Saeed Mahameed --- drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c b/drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c index eae9aa9c0811..978a2bb8e122 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c @@ -675,6 +675,9 @@ static void mlx5_fw_tracer_handle_traces(struct work_struct *work) if (!tracer->owner) return; + if (unlikely(!tracer->str_db.loaded)) + goto arm; + block_count = tracer->buff.size / TRACER_BLOCK_SIZE_BYTE; start_offset = tracer->buff.consumer_index * TRACER_BLOCK_SIZE_BYTE; @@ -732,6 +735,7 @@ static void mlx5_fw_tracer_handle_traces(struct work_struct *work) &tmp_trace_block[TRACES_PER_BLOCK - 1]); } +arm: mlx5_fw_tracer_arm(dev); } @@ -1136,8 +1140,7 @@ static int fw_tracer_event(struct notifier_block *nb, unsigned long action, void queue_work(tracer->work_queue, &tracer->ownership_change_work); break; case MLX5_TRACER_SUBTYPE_TRACES_AVAILABLE: - if (likely(tracer->str_db.loaded)) - queue_work(tracer->work_queue, &tracer->handle_traces_work); + queue_work(tracer->work_queue, &tracer->handle_traces_work); break; default: mlx5_core_dbg(dev, "FWTracer: Event with unrecognized subtype: sub_type %d\n", -- 2.36.1