From patchwork Tue Jan 31 09:33:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Vesker X-Patchwork-Id: 122732 X-Patchwork-Delegate: rasland@nvidia.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1FE4A41B8D; Tue, 31 Jan 2023 10:36:01 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C385C42F90; Tue, 31 Jan 2023 10:34:54 +0100 (CET) Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam04on2084.outbound.protection.outlook.com [40.107.101.84]) by mails.dpdk.org (Postfix) with ESMTP id C070B42F8E for ; Tue, 31 Jan 2023 10:34:53 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CQT2T+AxUGXlIbhpe5qWrRNHXct4HiXgksQUWAa327twkgEE6PfoKpZpf5nHO1c0cF0N/jRk56rgFYLGJPfkstEsLGORBEILaGTXrJbKBF56q7FGRxczd65YWmaGZpIuylKbPfoQM3djwi6VbhYL5e3KB6zaBPja9j0/ie/UT9lhii98vm5vhQmHn8gWzEb3PqkSesClz9bNCClt7CWdLmphC0cEWDL7wyQGCzUayZHYH4SFZll7S1GQVoWB2uepTjgJo3KzfdbiVpjcfq8+CMfJNgXYsV1bhYMd+MbBaYjUL7+f0HbtDF+R47CwWpnFe8SxoBdh12gYbXtCQyjGAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=E0Xs1O7SoIKww+lf8wMv+22OVJC5Qv/ZQfua2bopPAs=; b=agACFaY9lUwbOOyr5+XTQxPjoacHSrzlcl15/B8tuTStk6nfzpqt/bBbtdKZgEvAObuiCEl2vIK6djAy5dLYBeiyvdq2hhh/MZIysw3YLfuOOhDu/nhQWDmvZQtaDeeL/2bXQQDsSBKPmmAu+LcJ7tPAdeDnUhsmMOtmUG0VuPQ95u1bfvKnyAcIAGoht4lisP1VYMMBfnj/YfX8s9BW9wOd5uPVeCeGaKRyJcTwYGI3ZoWG3QmJ+vtKsClmT3qpLPMoFu+lAStv/B4LCjFktclDyU2enxON37QoUcIpbqAU5E5HjkK05yMuCbchAvDDOFQjwzYuRVp1EOJfdiOGLw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=monjalon.net smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=E0Xs1O7SoIKww+lf8wMv+22OVJC5Qv/ZQfua2bopPAs=; b=JR92L5bc1ps5Sal52MU7zzY0+erKlgHPKXHOR4xHNHqxEBqzt7yBsRhMGlWJD3Rs9RGCFrHEF6/c9ljBYdPqA8kYU4Qb02R6Mw9CbuzcVfvRx+bC58fudRCcWpkzRdPkV5s/teqUrZx/E0FLSD8phUGDsJd+jU0WaI4YcsNBuAqCHOBOqMdB7shJTnSWDY9k7AwqKDd1SewRQzTuht/5GCNXlWvRvLTcFSsN0zH5p46Q2q87gBCX+rwEOoW+U2kYlyl9Hwq8n3qHUIR4+6zY52c4Nsu0GIeRWvDMIuZZ9uFV0hDLiuT9/nOFw1zEfLHpxVzPPpupFSuZbkAKgaw/8g== Received: from MW4PR03CA0188.namprd03.prod.outlook.com (2603:10b6:303:b8::13) by LV2PR12MB5944.namprd12.prod.outlook.com (2603:10b6:408:14f::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6043.36; Tue, 31 Jan 2023 09:34:51 +0000 Received: from CO1NAM11FT039.eop-nam11.prod.protection.outlook.com (2603:10b6:303:b8:cafe::fb) by MW4PR03CA0188.outlook.office365.com (2603:10b6:303:b8::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6043.38 via Frontend Transport; Tue, 31 Jan 2023 09:34:50 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by CO1NAM11FT039.mail.protection.outlook.com (10.13.174.110) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.22 via Frontend Transport; Tue, 31 Jan 2023 09:34:50 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Tue, 31 Jan 2023 01:34:38 -0800 Received: from nvidia.com (10.126.231.37) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Tue, 31 Jan 2023 01:34:35 -0800 From: Alex Vesker To: , , , "Matan Azrad" CC: , Subject: [v1 14/16] net/mlx5/hws: add debug dump support for range and hash Date: Tue, 31 Jan 2023 11:33:43 +0200 Message-ID: <20230131093346.1261066-15-valex@nvidia.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20230131093346.1261066-1-valex@nvidia.com> References: <20230131093346.1261066-1-valex@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.231.37] X-ClientProxiedBy: rnnvmail203.nvidia.com (10.129.68.9) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1NAM11FT039:EE_|LV2PR12MB5944:EE_ X-MS-Office365-Filtering-Correlation-Id: ef4f3f94-10fc-4857-64ad-08db036e66be X-LD-Processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8mIIKPip8JX01p1Gq7860rufzBqvRhnhIZaSFOP4mojT9mIU7cbJA0eG1Bj3pjykqdhpHFTrSOA0i6AC+qgkW3syD0dM/qbTf1RuWtug0ny0coGWJuV3WmPx/jiAxs5i42dkUuhIccWbo9i01pAoLFSPN75v8vNpmudiZ0NWNOx5l+j8MhbHPhm3+XkEHDX5OjXrio4AiO1qpV1U6pRjmIA3R6Px/qx2dLiDGQIj7vnlUFriNjtwSv9w03LOUOr70b+cnpfdBecO9DmDQBjytRlphQPbf93vmFEW7decrnwAeUaBVUkfTAtuE7gK4lpk115pPpxBGhQR6Pkx80VSSdCi6FsgJlKNcmjjwObnbZ1VyKiL/xIwz6TcYAahKAQmKFkC/9BqbIpg1Roi4jTDXJblxLNd2Izw+m19y+m8PM548qKQY1k82kG4/w3HY95ptO32BPy0+VAHC1JO6LyTv3bqz+RMWCVHBSxpr+2us/yU4l+p1BwmKYySgmJnSBw1jHrS2B7BADru0aOFv6Hb/7URDHTgtt7m+L7D5+AWb+4tawvAwFZR/2CtT4AFEagsGvRq+pf/9ZIeZT7sy3CBq8iTFMm85l1tZS+uaXwFSQGTpYHmWmMPGuqybpDld9jfcq6oq8VD0vCImAmYrab6qYL58Mlu/0ObiRrCjMS420yzbYhmur21aOIIWh4SDPuN7S/w82GaVZZ4Uv0ovCUr2A== X-Forefront-Antispam-Report: CIP:216.228.117.160; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge1.nvidia.com; CAT:NONE; SFS:(13230025)(4636009)(396003)(39860400002)(376002)(136003)(346002)(451199018)(36840700001)(46966006)(40470700004)(83380400001)(336012)(47076005)(86362001)(2616005)(82310400005)(7636003)(82740400003)(356005)(2906002)(7696005)(26005)(36860700001)(36756003)(1076003)(40460700003)(426003)(186003)(6286002)(16526019)(478600001)(55016003)(107886003)(40480700001)(110136005)(8676002)(8936002)(41300700001)(4326008)(6636002)(54906003)(5660300002)(6666004)(70206006)(316002)(70586007); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2023 09:34:50.7159 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ef4f3f94-10fc-4857-64ad-08db036e66be X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.160]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CO1NAM11FT039.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB5944 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Add support for dumping range and hash definers objects. Hash definer is a per matcher object describing the fields used for hashing. Range definer is per match template object describing the fields used for range matching. Both are optional based on the given match templates. Signed-off-by: Alex Vesker --- drivers/net/mlx5/hws/mlx5dr_debug.c | 37 ++++++++++++++++++++--------- drivers/net/mlx5/hws/mlx5dr_debug.h | 4 +++- 2 files changed, 29 insertions(+), 12 deletions(-) diff --git a/drivers/net/mlx5/hws/mlx5dr_debug.c b/drivers/net/mlx5/hws/mlx5dr_debug.c index 9199ec16e0..b1d271eebe 100644 --- a/drivers/net/mlx5/hws/mlx5dr_debug.c +++ b/drivers/net/mlx5/hws/mlx5dr_debug.c @@ -34,15 +34,19 @@ const char *mlx5dr_debug_action_type_to_str(enum mlx5dr_action_type action_type) static int mlx5dr_debug_dump_matcher_template_definer(FILE *f, - struct mlx5dr_match_template *mt) + void *parent_obj, + struct mlx5dr_definer *definer, + enum mlx5dr_debug_res_type type) { - struct mlx5dr_definer *definer = mt->definer; int i, ret; + if (!definer) + return 0; + ret = fprintf(f, "%d,0x%" PRIx64 ",0x%" PRIx64 ",%d,%d,", - MLX5DR_DEBUG_RES_TYPE_MATCHER_TEMPLATE_DEFINER, + type, (uint64_t)(uintptr_t)definer, - (uint64_t)(uintptr_t)mt, + (uint64_t)(uintptr_t)parent_obj, definer->obj->id, definer->type); if (ret < 0) { @@ -89,29 +93,40 @@ static int mlx5dr_debug_dump_matcher_match_template(FILE *f, struct mlx5dr_matcher *matcher) { bool is_root = matcher->tbl->level == MLX5DR_ROOT_LEVEL; + enum mlx5dr_debug_res_type res_type; int i, ret; for (i = 0; i < matcher->num_of_mt; i++) { struct mlx5dr_match_template *mt = &matcher->mt[i]; - ret = fprintf(f, "%d,0x%" PRIx64 ",0x%" PRIx64 ",%d,%d\n", + ret = fprintf(f, "%d,0x%" PRIx64 ",0x%" PRIx64 ",%d,%d,%d\n", MLX5DR_DEBUG_RES_TYPE_MATCHER_MATCH_TEMPLATE, (uint64_t)(uintptr_t)mt, (uint64_t)(uintptr_t)matcher, is_root ? 0 : mt->fc_sz, - mt->flags); + mt->flags, + is_root ? 0 : mt->fcr_sz); if (ret < 0) { rte_errno = EINVAL; return rte_errno; } - if (!is_root) { - ret = mlx5dr_debug_dump_matcher_template_definer(f, mt); - if (ret) - return ret; - } + res_type = MLX5DR_DEBUG_RES_TYPE_MATCHER_TEMPLATE_MATCH_DEFINER; + ret = mlx5dr_debug_dump_matcher_template_definer(f, mt, mt->definer, res_type); + if (ret) + return ret; + + res_type = MLX5DR_DEBUG_RES_TYPE_MATCHER_TEMPLATE_RANGE_DEFINER; + ret = mlx5dr_debug_dump_matcher_template_definer(f, mt, mt->range_definer, res_type); + if (ret) + return ret; } + res_type = MLX5DR_DEBUG_RES_TYPE_MATCHER_TEMPLATE_HASH_DEFINER; + ret = mlx5dr_debug_dump_matcher_template_definer(f, matcher, matcher->hash_definer, res_type); + if (ret) + return ret; + return 0; } diff --git a/drivers/net/mlx5/hws/mlx5dr_debug.h b/drivers/net/mlx5/hws/mlx5dr_debug.h index cf00170f7d..2c29ca295c 100644 --- a/drivers/net/mlx5/hws/mlx5dr_debug.h +++ b/drivers/net/mlx5/hws/mlx5dr_debug.h @@ -19,8 +19,10 @@ enum mlx5dr_debug_res_type { MLX5DR_DEBUG_RES_TYPE_MATCHER = 4200, MLX5DR_DEBUG_RES_TYPE_MATCHER_ATTR = 4201, MLX5DR_DEBUG_RES_TYPE_MATCHER_MATCH_TEMPLATE = 4202, + MLX5DR_DEBUG_RES_TYPE_MATCHER_TEMPLATE_MATCH_DEFINER = 4203, MLX5DR_DEBUG_RES_TYPE_MATCHER_ACTION_TEMPLATE = 4204, - MLX5DR_DEBUG_RES_TYPE_MATCHER_TEMPLATE_DEFINER = 4203, + MLX5DR_DEBUG_RES_TYPE_MATCHER_TEMPLATE_HASH_DEFINER = 4205, + MLX5DR_DEBUG_RES_TYPE_MATCHER_TEMPLATE_RANGE_DEFINER = 4206, }; const char *mlx5dr_debug_action_type_to_str(enum mlx5dr_action_type action_type);