From patchwork Wed Feb 1 07:28:13 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Vesker X-Patchwork-Id: 122792 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 7AC4641B9B; Wed, 1 Feb 2023 08:30:42 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1A86242D85; Wed, 1 Feb 2023 08:29:29 +0100 (CET) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2075.outbound.protection.outlook.com [40.107.94.75]) by mails.dpdk.org (Postfix) with ESMTP id 5467642D85 for ; Wed, 1 Feb 2023 08:29:26 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=l//F29uD2uT3D6E+q/MPA7pCiXCvft17ungnlz2vBaF3b1ODPMQSCrjTdFFhEBjDSajuP7lgQinQgw+3fPs2GuAbKgh1zjpMqXnlOjG7G/bqLroXov3PhpJns2nYzPtJXXQS++/E369OvlB6CcrufLh0kcge/bp6JU0SSAvBy+U9GcmogMFER1i1qebp233zdUC78iTlbCPDH0/cj4Wx0CV5r0VmdlmCRnDQP/deffy4HjrcVogwMFe7s+Jnw+EAebMmq096x9dr26f4nF9+3uT73hSi4iIwH4OHtSlvSBHMf3rtupQ/dow52lH9t/JrWmKvxtQx76gFoOjofWzBGA== 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=CgkOBfxXZdFYn876GJhjrKq279OXU7VujsgpT+HX4Qs=; b=MKpdRk3cUcFg5Oks4+LmGuvGMWH0dG+Gol7nn8T9V9jZyeMAkCHvOUTmHzfQMSFLl+Dd0jBImDGpL9Oercly6sjDOXFt9JcgNvutDNOld1kffjg3gkXWN29aS85PrY39gdxE3aaLNW6GmYnh01YR4ccvYDZrbcZgp7fmeCUcINaChmefLR3noOK2kk3g02OI5gVkAK9r883H6I8uTRTv9duOczkIPXnWAZb3/4bj9K8IKjlSQen6ajxzFXxOXbXo6gm6n8EeFWcUaP3avySXTGmr6w132cgq9cVgaPLkJ82jZAqSGn7huwomTlyOK++XSgPLa3WpPn++4RYkjvRUeA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) 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=CgkOBfxXZdFYn876GJhjrKq279OXU7VujsgpT+HX4Qs=; b=IksbhRomIyubbtYW2asaH78VA/D+Zl3VpLj9OiPO1AWtIi7lHsUjcuhWC5nvwFY/KEPhIA7LuBEDELfXrikA3ZYhYNsClxynPxplmUp9L/xmbKJ0jRAoFfVx6hZjWl4IhMbO8f16sTk7TDRHWMD3yUejyDK+C1BGi7T7OP3DjHPPaJu65Esy0m07T12lnu58kdRrL0xcugB1UFoBzAFVSOUBHCQDEW5MSVbiDeBHX70u6jXLIQf+w57tFDyAXG56RXUM2+wKtKy949SfKArKQ1Ml/2od0OaGuTUTaFi3/QdnLv/3MPY6DvdSQkpthXC2UAMKZTR9IvIfi3rluIuI6w== Received: from BN8PR04CA0028.namprd04.prod.outlook.com (2603:10b6:408:70::41) by CH2PR12MB4229.namprd12.prod.outlook.com (2603:10b6:610:a5::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.24; Wed, 1 Feb 2023 07:29:24 +0000 Received: from BN8NAM11FT023.eop-nam11.prod.protection.outlook.com (2603:10b6:408:70:cafe::a0) by BN8PR04CA0028.outlook.office365.com (2603:10b6:408:70::41) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6043.38 via Frontend Transport; Wed, 1 Feb 2023 07:29:24 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) 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.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by BN8NAM11FT023.mail.protection.outlook.com (10.13.177.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.22 via Frontend Transport; Wed, 1 Feb 2023 07:29:24 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) 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 23:29:12 -0800 Received: from nvidia.com (10.126.230.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 23:29:10 -0800 From: Alex Vesker To: , , , "Matan Azrad" CC: , Subject: [v2 14/16] net/mlx5/hws: add debug dump support for range and hash Date: Wed, 1 Feb 2023 09:28:13 +0200 Message-ID: <20230201072815.1329101-15-valex@nvidia.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20230201072815.1329101-1-valex@nvidia.com> References: <20230131093346.1261066-1-valex@nvidia.com> <20230201072815.1329101-1-valex@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [10.126.230.37] X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN8NAM11FT023:EE_|CH2PR12MB4229:EE_ X-MS-Office365-Filtering-Correlation-Id: 63f70f8a-e790-40ca-6ade-08db04260b03 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: /ALRtrO1ZHLNMuxWcBX0z3B13UrORiIql0TACB+hpnPfIOHSEYAcjlXeyw33/0maPhhrB7+nCezq4i6jwB+YLnlEBvcdXlthQN652da0Xv2f1Pp3PLMpF7qY3tanWHyySdpUV1nYwpgX3FFoxg09w8FVu8wE6XlYrasm8SquTbL+BCeJnd5lrGmuEaJESmTfNC+t7pdCmEQjvbZFHWK0fpTepp/HV+CYNwCWZ7sXJq0KZCHxSYKKYTWFSBB9c6ifxBDtnn6//k7t8AK+hZ4JCWOaQMgutG9L02Fn/YNdAKaVd4A5sKi/XIDQySjeg3Bd48pvp3N78gOuRseDYiKakVtal87m6BF6lcQhh60lCnghwlTHdKtMrDsFOG5T6tEHy4fIt0PTtbVmH1rNz2e5fHScidgGPsVDil3930CnGZvn+8vkOOYAGP/qfgy0DePgbUSlsfVNJeZAbuFVGDRoN1S9DSNJD3bi4DZuTzc0/ch78/Ql3AtMqX+rx18d7fYGpDWx/ZSwFAPS7E+XIO4Qu5HPfGnPtqe4/00GtzdrgXvj2+pCMZkLJOHPIw4f4i6gC/YSn/dOHv0NhxtFy2nvAhLbdBzUOHaZcjPOfMNSTKxxZHrUvztTEmo36p0/qsOlLA4NFi6hZlhyMJGj1qwEYnKaxLCz9uUPj95lFS6M4cvirSYcnwqNixZ9dznMcJizEd8e6eSdGjqrrjKArStfQA== X-Forefront-Antispam-Report: CIP:216.228.117.161; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge2.nvidia.com; CAT:NONE; SFS:(13230025)(4636009)(346002)(136003)(39860400002)(376002)(396003)(451199018)(36840700001)(40470700004)(46966006)(1076003)(70206006)(70586007)(26005)(186003)(82740400003)(7636003)(82310400005)(86362001)(8676002)(4326008)(41300700001)(107886003)(83380400001)(16526019)(6286002)(2906002)(5660300002)(40460700003)(478600001)(8936002)(356005)(316002)(2616005)(47076005)(7696005)(426003)(36860700001)(6636002)(54906003)(110136005)(40480700001)(55016003)(336012)(36756003); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Feb 2023 07:29:24.0911 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 63f70f8a-e790-40ca-6ade-08db04260b03 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.161]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT023.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4229 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..dfef785d4d 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 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; - } + type = MLX5DR_DEBUG_RES_TYPE_MATCHER_TEMPLATE_MATCH_DEFINER; + ret = mlx5dr_debug_dump_matcher_template_definer(f, mt, mt->definer, type); + if (ret) + return ret; + + type = MLX5DR_DEBUG_RES_TYPE_MATCHER_TEMPLATE_RANGE_DEFINER; + ret = mlx5dr_debug_dump_matcher_template_definer(f, mt, mt->range_definer, type); + if (ret) + return ret; } + type = MLX5DR_DEBUG_RES_TYPE_MATCHER_TEMPLATE_HASH_DEFINER; + ret = mlx5dr_debug_dump_matcher_template_definer(f, matcher, matcher->hash_definer, 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);