From patchwork Sun Mar 7 09:11:58 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wisam Monther X-Patchwork-Id: 88681 X-Patchwork-Delegate: thomas@monjalon.net 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 6554EA0562; Sun, 7 Mar 2021 10:12:31 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B739E22A32F; Sun, 7 Mar 2021 10:12:23 +0100 (CET) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2077.outbound.protection.outlook.com [40.107.244.77]) by mails.dpdk.org (Postfix) with ESMTP id 0622222A2F4 for ; Sun, 7 Mar 2021 10:12:22 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JtSR54eY2MmZa+MVt8EW0fpVs5zAMRjeGZq18TrBIhVSWpqCkg2TOThRjuBXQbIUCZqSLB6Rhfe7GKZwQ08c0ghY6JuPrmsd9kKmusKT6pDByn5NhnJrf0+dMLcNIDwVRArvwrwVo3Pm1JU5Aibp9oHTmH+WKEryPNpsCIj/CCPm1xVtLS0KxdvWM189+/u+780u+mx8NyRP44JPIUi/XXS/s6KuopdA6dlsYef6FLtHen5311/Sy2iXIZL7QWR/LSkB6DtoBeNzPm7/BatSdFVggmLIHu8d9fLgvF+mkxNrjlgU9SDhcrvPDw5SgGHgn4xKxxFvqWrAtAY0Au+KQw== 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-SenderADCheck; bh=kHzuYpqhDFPLbS8TFa0kQ2R70un0RICthcjLlHQinYQ=; b=aYIGepyS2BfOiyop95ub2CAJLr92NNF5ni4ID5fQmFNvMqgpRzIgGdTnlzv1jDfoni84PYbBFpHUSESDoZxpLTYBOJ+Q/QCtDBgh6+POfzB/mgD2vhbog6nPRhxnlSdn6LlRCpa42j8KZMgo0spF5kGrfImfiErGHVepOnt56Ke4kJ3Mlopf7sIeiprIqgiMZDvnT7lqr6WxH8rUatLsIOUDWxm5u57uLlScSBVBMoQLiPQXgVFGtKdrB3AQIxrqtxrhTwRbFURtjKqddsbKKowNvyeHYPWnYMSibcDF8k92avLb+PpNJ3vpsya3eh8DSTc4MmYGuIvKJh+V6C4TUQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.34) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=none sp=none 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=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kHzuYpqhDFPLbS8TFa0kQ2R70un0RICthcjLlHQinYQ=; b=nVHG4GvieUpDMcBcNKShYBU4QhwCKuqKWdfXcq+C5YX4UlNl4t9p0eAslvOKC1TaWzZhzHxJL9awrIdizdbmKq+aAms1zA0Ar07kw7IzJm/L9LTlNibZCDmpbuvM9XvzmvXQt0jnd3X83JbSm1yI4F7qp+l0nO42+PBsqwrY8EA= Received: from DM6PR06CA0098.namprd06.prod.outlook.com (2603:10b6:5:336::31) by CH2PR12MB4199.namprd12.prod.outlook.com (2603:10b6:610:a7::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3890.19; Sun, 7 Mar 2021 09:12:20 +0000 Received: from DM6NAM11FT018.eop-nam11.prod.protection.outlook.com (2603:10b6:5:336:cafe::81) by DM6PR06CA0098.outlook.office365.com (2603:10b6:5:336::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3912.17 via Frontend Transport; Sun, 7 Mar 2021 09:12:20 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.34) smtp.mailfrom=nvidia.com; dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.112.34 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.112.34; helo=mail.nvidia.com; Received: from mail.nvidia.com (216.228.112.34) by DM6NAM11FT018.mail.protection.outlook.com (10.13.172.110) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.3912.17 via Frontend Transport; Sun, 7 Mar 2021 09:12:20 +0000 Received: from nvidia.com (172.20.145.6) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sun, 7 Mar 2021 09:12:18 +0000 From: Wisam Jaddo To: , , , , Date: Sun, 7 Mar 2021 11:11:58 +0200 Message-ID: <20210307091202.586-2-wisamm@nvidia.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210307091202.586-1-wisamm@nvidia.com> References: <20210307091202.586-1-wisamm@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [172.20.145.6] X-ClientProxiedBy: HQMAIL101.nvidia.com (172.20.187.10) To HQMAIL107.nvidia.com (172.20.187.13) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 83fdad56-1f8f-4d1b-5e75-08d8e1491cb5 X-MS-TrafficTypeDiagnostic: CH2PR12MB4199: X-LD-Processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1051; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: OCgqMQgMszzIG7MaduAE2d97nOmR8vrPpApkUJ/F3TiQiYntJWlfeOYNGKHEsgkxF7Psd1nV8oLOV83qOaF62rrt86OJ1HUXGqKam9+NnD5oXT/wF/K6+TBI8UmsMs4QYeY76w7pRXVIyUQUvuylgCP6dVdpbDQ8yzojStcO9FnX/EZPnqk8g8HPplyB7RQ/xAWiIJoMqKyh9r/mk9BvPigUvvo3/FqsegNsHO6FbMvC+3JLr0Y0Tg98SsSlhaiNZa1xKWNuG4EcE2nhj6crtDioZ5jHVQeg4Xemuj3llX7IyiIXLrSRR5sVY7MLzJf0BIXKJWKlDCZ4K8PaTJn8S3s2iqCnKodkFIawtOnrzh6Ucwd/aotIAyc0NcMqP/0ym82EakGWvdQwbK2WxwULW+4C1aJgqQYqzAih9oHlhBS/Bs+4O7Axp8sf2MJaqR09SOJXbLR9V5mi51S0cd3m/0yvr/FMMrtvi1ngo22ZAXxDt5C5c1XuIgCWwtXvA4Z3UQssXRafC7k2lpQTC/O3OPj796t8DlJh6nMi/UC4Zc/mJlbp78nBI2kxTpwXjXDtOQDJJQ04k5Yf3jrm1G0qTuCM1A/DvU8v7cBLbV76WHhMu+KP0xthDj1bJX7BkwV/74ObWusjI5Mqygzn6krMad16/OMMw8vdI2e9iMVZzGFCwCym+aeQlYIWaYN+RFBzD0d2h26VC4xbe1yU3tYUiw== X-Forefront-Antispam-Report: CIP:216.228.112.34; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid03.nvidia.com; CAT:NONE; SFS:(4636009)(396003)(346002)(376002)(136003)(39860400002)(46966006)(36840700001)(16526019)(5660300002)(26005)(186003)(55016002)(7636003)(34020700004)(478600001)(426003)(336012)(356005)(36906005)(82310400003)(36860700001)(316002)(36756003)(82740400003)(110136005)(83380400001)(86362001)(2616005)(8936002)(47076005)(6666004)(1076003)(6286002)(70206006)(70586007)(2906002)(8676002)(7696005)(41533002); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2021 09:12:20.2316 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 83fdad56-1f8f-4d1b-5e75-08d8e1491cb5 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.112.34]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT018.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4199 Subject: [dpdk-dev] [PATCH 1/5] app/flow-perf: start using more generic wrapper for cycles 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 Sender: "dev" rdtsc() is x86 related, while this might fail for other archs, so it's better to use more generic API for cycles measurement. Signed-off-by: Wisam Jaddo --- app/test-flow-perf/main.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/app/test-flow-perf/main.c b/app/test-flow-perf/main.c index 99d0463456..8b5a11c15e 100644 --- a/app/test-flow-perf/main.c +++ b/app/test-flow-perf/main.c @@ -969,7 +969,7 @@ meters_handler(int port_id, uint8_t core_id, uint8_t ops) end_counter = (core_id + 1) * rules_count_per_core; cpu_time_used = 0; - start_batch = rte_rdtsc(); + start_batch = rte_get_timer_cycles(); for (counter = start_counter; counter < end_counter; counter++) { if (ops == METER_CREATE) create_meter_rule(port_id, counter); @@ -984,10 +984,10 @@ meters_handler(int port_id, uint8_t core_id, uint8_t ops) if (!((counter + 1) % rules_batch)) { rules_batch_idx = ((counter + 1) / rules_batch) - 1; cpu_time_per_batch[rules_batch_idx] = - ((double)(rte_rdtsc() - start_batch)) - / rte_get_tsc_hz(); + ((double)(rte_get_timer_cycles() - start_batch)) + / rte_get_timer_hz(); cpu_time_used += cpu_time_per_batch[rules_batch_idx]; - start_batch = rte_rdtsc(); + start_batch = rte_get_timer_cycles(); } } @@ -1089,7 +1089,7 @@ destroy_flows(int port_id, uint8_t core_id, struct rte_flow **flows_list) if (flow_group > 0 && core_id == 0) rules_count_per_core++; - start_batch = rte_rdtsc(); + start_batch = rte_get_timer_cycles(); for (i = 0; i < (uint32_t) rules_count_per_core; i++) { if (flows_list[i] == 0) break; @@ -1107,12 +1107,12 @@ destroy_flows(int port_id, uint8_t core_id, struct rte_flow **flows_list) * for this batch. */ if (!((i + 1) % rules_batch)) { - end_batch = rte_rdtsc(); + end_batch = rte_get_timer_cycles(); delta = (double) (end_batch - start_batch); rules_batch_idx = ((i + 1) / rules_batch) - 1; - cpu_time_per_batch[rules_batch_idx] = delta / rte_get_tsc_hz(); + cpu_time_per_batch[rules_batch_idx] = delta / rte_get_timer_hz(); cpu_time_used += cpu_time_per_batch[rules_batch_idx]; - start_batch = rte_rdtsc(); + start_batch = rte_get_timer_cycles(); } } @@ -1185,7 +1185,7 @@ insert_flows(int port_id, uint8_t core_id) flows_list[flow_index++] = flow; } - start_batch = rte_rdtsc(); + start_batch = rte_get_timer_cycles(); for (counter = start_counter; counter < end_counter; counter++) { flow = generate_flow(port_id, flow_group, flow_attrs, flow_items, flow_actions, @@ -1211,12 +1211,12 @@ insert_flows(int port_id, uint8_t core_id) * for this batch. */ if (!((counter + 1) % rules_batch)) { - end_batch = rte_rdtsc(); + end_batch = rte_get_timer_cycles(); delta = (double) (end_batch - start_batch); rules_batch_idx = ((counter + 1) / rules_batch) - 1; - cpu_time_per_batch[rules_batch_idx] = delta / rte_get_tsc_hz(); + cpu_time_per_batch[rules_batch_idx] = delta / rte_get_timer_hz(); cpu_time_used += cpu_time_per_batch[rules_batch_idx]; - start_batch = rte_rdtsc(); + start_batch = rte_get_timer_cycles(); } } From patchwork Sun Mar 7 09:11:59 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wisam Monther X-Patchwork-Id: 88682 X-Patchwork-Delegate: thomas@monjalon.net 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 3EFF0A0562; Sun, 7 Mar 2021 10:12:39 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 028D822A33D; Sun, 7 Mar 2021 10:12:27 +0100 (CET) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2062.outbound.protection.outlook.com [40.107.243.62]) by mails.dpdk.org (Postfix) with ESMTP id 5F0AF22A337 for ; Sun, 7 Mar 2021 10:12:25 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kuPsyqD1FSKaCQ1qQvb6mVDZSAjsEiVRiK05YuIq0sWnLMmCMYbcnIklk8rEj2Sbps2f9I7PzYo85VcC45f75fMDefNmID1eTF1fTAFEeb+3d06y3kuIjrGFFqLEppni6urqa+TcF+E/eBHMoItIeYG3BWKGbedFfbt/N+31m7f+vcEvOQJLem46aSVjn8uGDtP2V0Yp9j5JDoOeL2sLAHbAzbhiIUNsnnu3L1ecUqGeXv9haWO5IFjT/y/JpCTaM4o6agSphJJI6QmIWysQRYhRCgv1ILVhy3OCHRLHI4SqpRAkzcGp5+3uI65PD8XcTfCSyWcB1M4NAwnYrj9T9A== 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-SenderADCheck; bh=AvHZdkx0AHYe/mPdwjRY52oSvUNf/gicMEY/xL0naQA=; b=D3j3Dy+BUPQDPI+i5yShQBulC9Bkw04qhWazbLMFVSz1UZdLBZwLtqL5qQiWpSYgcoAHGa6ofDuUYGGJUixdQBSKnFu1d1+iu9d8txo1jvhDrFl2Qxm6hCkGY75F5xlwwTYMRg8yT5JyjSC3olKIyb8g0O5aIuzWKm1eCa0PKR6YIyvtbfuNr4I7MltAchl9cCAokPkG5tGlkQoGVqvo1ApCGqU91YC6BVK/L+O4x15Ag+Xs/zsX13S5DATAIl0QOxwmWR1o2uUeXzBD54LJvbMVjEs9mk/xu1tMIzNzwcoLny1okiihM7WsBOdoISQYbI/o0PVv/q2XD/EStZHaEA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.34) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=none sp=none 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=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AvHZdkx0AHYe/mPdwjRY52oSvUNf/gicMEY/xL0naQA=; b=0VDCHdswnYr1aonsgQOWkG2UpTE98cqKBSB9YnXUhtP9PldUajy+sDTA3yPz0ibGs8Gy9jWrFGMFB/3vK0BBDPETmeyEENpLEr+g8Ud4xnu5ygnREyIHU/ccx/3ZeGjjk8NQ5C/TrkaK4RFY9qagWlvdeLXKqqnS5Uyw1Z1G2SU= Received: from DM5PR1401CA0023.namprd14.prod.outlook.com (2603:10b6:4:4a::33) by DM5PR12MB2503.namprd12.prod.outlook.com (2603:10b6:4:b2::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3890.23; Sun, 7 Mar 2021 09:12:22 +0000 Received: from DM6NAM11FT046.eop-nam11.prod.protection.outlook.com (2603:10b6:4:4a:cafe::e8) by DM5PR1401CA0023.outlook.office365.com (2603:10b6:4:4a::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3912.26 via Frontend Transport; Sun, 7 Mar 2021 09:12:22 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.34) smtp.mailfrom=nvidia.com; dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.112.34 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.112.34; helo=mail.nvidia.com; Received: from mail.nvidia.com (216.228.112.34) by DM6NAM11FT046.mail.protection.outlook.com (10.13.172.121) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.3912.17 via Frontend Transport; Sun, 7 Mar 2021 09:12:22 +0000 Received: from nvidia.com (172.20.145.6) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sun, 7 Mar 2021 09:12:20 +0000 From: Wisam Jaddo To: , , , , Date: Sun, 7 Mar 2021 11:11:59 +0200 Message-ID: <20210307091202.586-3-wisamm@nvidia.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210307091202.586-1-wisamm@nvidia.com> References: <20210307091202.586-1-wisamm@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [172.20.145.6] X-ClientProxiedBy: HQMAIL101.nvidia.com (172.20.187.10) To HQMAIL107.nvidia.com (172.20.187.13) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 87347c51-189c-485b-89b9-08d8e1491df7 X-MS-TrafficTypeDiagnostic: DM5PR12MB2503: X-LD-Processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:321; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: fLookTzAkyxF4//e90484SuE9yttiLIYxXGcys8h08E7IuHALnaZ7wiTjzfNgQP9+0Wat+RJvJKWVKyjc9oLzFIKCbG6JiwYf3pwYXirPJ9Gd6QzsH2cs2PFJjbkJefY0s9shhWQ53l70kAQjhuhaSOQ0ogfe3VnhSZxwg/wTj8iIYVc9XXTLAhlDe4CD96/OlPXXcd2YHFj/fDdu8zVOEDtAKbwfmVvo14HdHjhr3wP+HsEOAEthHtjhVw/bjoKcqkexlsqVaHbwgut23BAxVgoYzMqgxkrrkr5Uj8c2SphvxnG7tcavJEn49Gow+VGuZ7ahwSVc9IsS4EneVpAJ6DRk9OWwXrIXb4vBOh+PguesaUcMa+3Ess4T5fTeF8vKNpPI76VKo22KS0HY4RM6IM+rYKtCbQEcImC/x7J7A9fcaiGsTMTWAFclo2xm0UyHpc8K+TWpNWofDG/g3vudazYFSfxMisQhJ/BAn7M9yFPGd/mYuP0HFpKsmYgGnTaEXYGJTlV0dJLKw7RJJs1JXIcXKLMwgJXhHgs29ZaNrD2ZLDZJnDmmUn41f12wnNWLrvLhnUPVaH4mDpJMNlRnKRIgWtnqB1jvg8tlb1NkznUAsmBbkIZDqVBi8MBQ/Ov7VPmDqy8bh8seq7/UQChyXwvDYqCw8ee+DUs2rSx4odoDG9yBbKEiDFrbtpVX3CE X-Forefront-Antispam-Report: CIP:216.228.112.34; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid03.nvidia.com; CAT:NONE; SFS:(4636009)(376002)(396003)(346002)(39860400002)(136003)(36840700001)(46966006)(16526019)(8936002)(426003)(336012)(5660300002)(478600001)(7636003)(1076003)(47076005)(26005)(30864003)(70586007)(2616005)(6666004)(36756003)(8676002)(70206006)(186003)(7696005)(82740400003)(82310400003)(34020700004)(110136005)(83380400001)(55016002)(86362001)(36860700001)(6286002)(316002)(36906005)(2906002)(356005); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2021 09:12:22.3090 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 87347c51-189c-485b-89b9-08d8e1491df7 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.112.34]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT046.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB2503 Subject: [dpdk-dev] [PATCH 2/5] app/flow-perf: add new option to use unique data on the fly 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 Sender: "dev" Current support for unique data is to compile with config.h var as FIXED_VALUES as 0, and this is only supported on compilation time, as a result the user may use only single mode for each compilation. Starting with this commit the user will have the ability to use this feature on the fly by using this new option: --unique-data Example of unique data usage: Insert many rules with different encap data for a flows that have encap action in it. Signed-off-by: Wisam Jaddo --- app/test-flow-perf/actions_gen.c | 77 +++++++++++++++++--------------- app/test-flow-perf/actions_gen.h | 3 +- app/test-flow-perf/config.h | 8 +--- app/test-flow-perf/flow_gen.c | 4 +- app/test-flow-perf/flow_gen.h | 1 + app/test-flow-perf/main.c | 13 ++++-- doc/guides/tools/flow-perf.rst | 5 +++ 7 files changed, 62 insertions(+), 49 deletions(-) diff --git a/app/test-flow-perf/actions_gen.c b/app/test-flow-perf/actions_gen.c index 1f5c64fde9..82cddfc676 100644 --- a/app/test-flow-perf/actions_gen.c +++ b/app/test-flow-perf/actions_gen.c @@ -30,6 +30,7 @@ struct additional_para { uint64_t encap_data; uint64_t decap_data; uint8_t core_idx; + bool unique_data; }; /* Storage for struct rte_flow_action_raw_encap including external data. */ @@ -202,14 +203,14 @@ add_count(struct rte_flow_action *actions, static void add_set_src_mac(struct rte_flow_action *actions, uint8_t actions_counter, - __rte_unused struct additional_para para) + struct additional_para para) { static struct rte_flow_action_set_mac set_macs[RTE_MAX_LCORE] __rte_cache_aligned; uint32_t mac = para.counter; uint16_t i; /* Fixed value */ - if (FIXED_VALUES) + if (!para.unique_data) mac = 1; /* Mac address to be set is random each time */ @@ -225,14 +226,14 @@ add_set_src_mac(struct rte_flow_action *actions, static void add_set_dst_mac(struct rte_flow_action *actions, uint8_t actions_counter, - __rte_unused struct additional_para para) + struct additional_para para) { static struct rte_flow_action_set_mac set_macs[RTE_MAX_LCORE] __rte_cache_aligned; uint32_t mac = para.counter; uint16_t i; /* Fixed value */ - if (FIXED_VALUES) + if (!para.unique_data) mac = 1; /* Mac address to be set is random each time */ @@ -248,13 +249,13 @@ add_set_dst_mac(struct rte_flow_action *actions, static void add_set_src_ipv4(struct rte_flow_action *actions, uint8_t actions_counter, - __rte_unused struct additional_para para) + struct additional_para para) { static struct rte_flow_action_set_ipv4 set_ipv4[RTE_MAX_LCORE] __rte_cache_aligned; uint32_t ip = para.counter; /* Fixed value */ - if (FIXED_VALUES) + if (!para.unique_data) ip = 1; /* IPv4 value to be set is random each time */ @@ -267,13 +268,13 @@ add_set_src_ipv4(struct rte_flow_action *actions, static void add_set_dst_ipv4(struct rte_flow_action *actions, uint8_t actions_counter, - __rte_unused struct additional_para para) + struct additional_para para) { static struct rte_flow_action_set_ipv4 set_ipv4[RTE_MAX_LCORE] __rte_cache_aligned; uint32_t ip = para.counter; /* Fixed value */ - if (FIXED_VALUES) + if (!para.unique_data) ip = 1; /* IPv4 value to be set is random each time */ @@ -286,14 +287,14 @@ add_set_dst_ipv4(struct rte_flow_action *actions, static void add_set_src_ipv6(struct rte_flow_action *actions, uint8_t actions_counter, - __rte_unused struct additional_para para) + struct additional_para para) { static struct rte_flow_action_set_ipv6 set_ipv6[RTE_MAX_LCORE] __rte_cache_aligned; uint32_t ipv6 = para.counter; uint8_t i; /* Fixed value */ - if (FIXED_VALUES) + if (!para.unique_data) ipv6 = 1; /* IPv6 value to set is random each time */ @@ -309,14 +310,14 @@ add_set_src_ipv6(struct rte_flow_action *actions, static void add_set_dst_ipv6(struct rte_flow_action *actions, uint8_t actions_counter, - __rte_unused struct additional_para para) + struct additional_para para) { static struct rte_flow_action_set_ipv6 set_ipv6[RTE_MAX_LCORE] __rte_cache_aligned; uint32_t ipv6 = para.counter; uint8_t i; /* Fixed value */ - if (FIXED_VALUES) + if (!para.unique_data) ipv6 = 1; /* IPv6 value to set is random each time */ @@ -332,13 +333,13 @@ add_set_dst_ipv6(struct rte_flow_action *actions, static void add_set_src_tp(struct rte_flow_action *actions, uint8_t actions_counter, - __rte_unused struct additional_para para) + struct additional_para para) { static struct rte_flow_action_set_tp set_tp[RTE_MAX_LCORE] __rte_cache_aligned; uint32_t tp = para.counter; /* Fixed value */ - if (FIXED_VALUES) + if (!para.unique_data) tp = 100; /* TP src port is random each time */ @@ -353,13 +354,13 @@ add_set_src_tp(struct rte_flow_action *actions, static void add_set_dst_tp(struct rte_flow_action *actions, uint8_t actions_counter, - __rte_unused struct additional_para para) + struct additional_para para) { static struct rte_flow_action_set_tp set_tp[RTE_MAX_LCORE] __rte_cache_aligned; uint32_t tp = para.counter; /* Fixed value */ - if (FIXED_VALUES) + if (!para.unique_data) tp = 100; /* TP src port is random each time */ @@ -375,13 +376,13 @@ add_set_dst_tp(struct rte_flow_action *actions, static void add_inc_tcp_ack(struct rte_flow_action *actions, uint8_t actions_counter, - __rte_unused struct additional_para para) + struct additional_para para) { static rte_be32_t value[RTE_MAX_LCORE] __rte_cache_aligned; uint32_t ack_value = para.counter; /* Fixed value */ - if (FIXED_VALUES) + if (!para.unique_data) ack_value = 1; value[para.core_idx] = RTE_BE32(ack_value); @@ -393,13 +394,13 @@ add_inc_tcp_ack(struct rte_flow_action *actions, static void add_dec_tcp_ack(struct rte_flow_action *actions, uint8_t actions_counter, - __rte_unused struct additional_para para) + struct additional_para para) { static rte_be32_t value[RTE_MAX_LCORE] __rte_cache_aligned; uint32_t ack_value = para.counter; /* Fixed value */ - if (FIXED_VALUES) + if (!para.unique_data) ack_value = 1; value[para.core_idx] = RTE_BE32(ack_value); @@ -411,13 +412,13 @@ add_dec_tcp_ack(struct rte_flow_action *actions, static void add_inc_tcp_seq(struct rte_flow_action *actions, uint8_t actions_counter, - __rte_unused struct additional_para para) + struct additional_para para) { static rte_be32_t value[RTE_MAX_LCORE] __rte_cache_aligned; uint32_t seq_value = para.counter; /* Fixed value */ - if (FIXED_VALUES) + if (!para.unique_data) seq_value = 1; value[para.core_idx] = RTE_BE32(seq_value); @@ -429,13 +430,13 @@ add_inc_tcp_seq(struct rte_flow_action *actions, static void add_dec_tcp_seq(struct rte_flow_action *actions, uint8_t actions_counter, - __rte_unused struct additional_para para) + struct additional_para para) { static rte_be32_t value[RTE_MAX_LCORE] __rte_cache_aligned; uint32_t seq_value = para.counter; /* Fixed value */ - if (FIXED_VALUES) + if (!para.unique_data) seq_value = 1; value[para.core_idx] = RTE_BE32(seq_value); @@ -447,13 +448,13 @@ add_dec_tcp_seq(struct rte_flow_action *actions, static void add_set_ttl(struct rte_flow_action *actions, uint8_t actions_counter, - __rte_unused struct additional_para para) + struct additional_para para) { static struct rte_flow_action_set_ttl set_ttl[RTE_MAX_LCORE] __rte_cache_aligned; uint32_t ttl_value = para.counter; /* Fixed value */ - if (FIXED_VALUES) + if (!para.unique_data) ttl_value = 1; /* Set ttl to random value each time */ @@ -476,13 +477,13 @@ add_dec_ttl(struct rte_flow_action *actions, static void add_set_ipv4_dscp(struct rte_flow_action *actions, uint8_t actions_counter, - __rte_unused struct additional_para para) + struct additional_para para) { static struct rte_flow_action_set_dscp set_dscp[RTE_MAX_LCORE] __rte_cache_aligned; uint32_t dscp_value = para.counter; /* Fixed value */ - if (FIXED_VALUES) + if (!para.unique_data) dscp_value = 1; /* Set dscp to random value each time */ @@ -497,13 +498,13 @@ add_set_ipv4_dscp(struct rte_flow_action *actions, static void add_set_ipv6_dscp(struct rte_flow_action *actions, uint8_t actions_counter, - __rte_unused struct additional_para para) + struct additional_para para) { static struct rte_flow_action_set_dscp set_dscp[RTE_MAX_LCORE] __rte_cache_aligned; uint32_t dscp_value = para.counter; /* Fixed value */ - if (FIXED_VALUES) + if (!para.unique_data) dscp_value = 1; /* Set dscp to random value each time */ @@ -577,7 +578,7 @@ add_ipv4_header(uint8_t **header, uint64_t data, return; /* Fixed value */ - if (FIXED_VALUES) + if (!para.unique_data) ip_dst = 1; memset(&ipv4_hdr, 0, sizeof(struct rte_ipv4_hdr)); @@ -643,7 +644,7 @@ add_vxlan_header(uint8_t **header, uint64_t data, return; /* Fixed value */ - if (FIXED_VALUES) + if (!para.unique_data) vni_value = 1; memset(&vxlan_hdr, 0, sizeof(struct rte_vxlan_hdr)); @@ -666,7 +667,7 @@ add_vxlan_gpe_header(uint8_t **header, uint64_t data, return; /* Fixed value */ - if (FIXED_VALUES) + if (!para.unique_data) vni_value = 1; memset(&vxlan_gpe_hdr, 0, sizeof(struct rte_vxlan_gpe_hdr)); @@ -707,7 +708,7 @@ add_geneve_header(uint8_t **header, uint64_t data, return; /* Fixed value */ - if (FIXED_VALUES) + if (!para.unique_data) vni_value = 1; memset(&geneve_hdr, 0, sizeof(struct rte_geneve_hdr)); @@ -730,7 +731,7 @@ add_gtp_header(uint8_t **header, uint64_t data, return; /* Fixed value */ - if (FIXED_VALUES) + if (!para.unique_data) teid_value = 1; memset(>p_hdr, 0, sizeof(struct rte_flow_item_gtp)); @@ -849,7 +850,7 @@ add_vxlan_encap(struct rte_flow_action *actions, uint32_t ip_dst = para.counter; /* Fixed value */ - if (FIXED_VALUES) + if (!para.unique_data) ip_dst = 1; items[0].spec = &item_eth; @@ -907,7 +908,8 @@ add_meter(struct rte_flow_action *actions, void fill_actions(struct rte_flow_action *actions, uint64_t *flow_actions, uint32_t counter, uint16_t next_table, uint16_t hairpinq, - uint64_t encap_data, uint64_t decap_data, uint8_t core_idx) + uint64_t encap_data, uint64_t decap_data, uint8_t core_idx, + bool unique_data) { struct additional_para additional_para_data; uint8_t actions_counter = 0; @@ -930,6 +932,7 @@ fill_actions(struct rte_flow_action *actions, uint64_t *flow_actions, .encap_data = encap_data, .decap_data = decap_data, .core_idx = core_idx, + .unique_data = unique_data, }; if (hairpinq != 0) { diff --git a/app/test-flow-perf/actions_gen.h b/app/test-flow-perf/actions_gen.h index 77353cfe09..6f2f833496 100644 --- a/app/test-flow-perf/actions_gen.h +++ b/app/test-flow-perf/actions_gen.h @@ -19,6 +19,7 @@ void fill_actions(struct rte_flow_action *actions, uint64_t *flow_actions, uint32_t counter, uint16_t next_table, uint16_t hairpinq, - uint64_t encap_data, uint64_t decap_data, uint8_t core_idx); + uint64_t encap_data, uint64_t decap_data, uint8_t core_idx, + bool unique_data); #endif /* FLOW_PERF_ACTION_GEN */ diff --git a/app/test-flow-perf/config.h b/app/test-flow-perf/config.h index 3d4696d61a..a14d4e05e1 100644 --- a/app/test-flow-perf/config.h +++ b/app/test-flow-perf/config.h @@ -5,7 +5,7 @@ #define FLOW_ITEM_MASK(_x) (UINT64_C(1) << _x) #define FLOW_ACTION_MASK(_x) (UINT64_C(1) << _x) #define FLOW_ATTR_MASK(_x) (UINT64_C(1) << _x) -#define GET_RSS_HF() (ETH_RSS_IP | ETH_RSS_TCP) +#define GET_RSS_HF() (ETH_RSS_IP) /* Configuration */ #define RXQ_NUM 4 @@ -19,12 +19,6 @@ #define METER_CIR 1250000 #define DEFAULT_METER_PROF_ID 100 -/* This is used for encap/decap & header modify actions. - * When it's 1: it means all actions have fixed values. - * When it's 0: it means all actions will have different values. - */ -#define FIXED_VALUES 1 - /* Items/Actions parameters */ #define JUMP_ACTION_TABLE 2 #define VLAN_VALUE 1 diff --git a/app/test-flow-perf/flow_gen.c b/app/test-flow-perf/flow_gen.c index df4af16de8..8f87fac5f6 100644 --- a/app/test-flow-perf/flow_gen.c +++ b/app/test-flow-perf/flow_gen.c @@ -46,6 +46,7 @@ generate_flow(uint16_t port_id, uint64_t encap_data, uint64_t decap_data, uint8_t core_idx, + bool unique_data, struct rte_flow_error *error) { struct rte_flow_attr attr; @@ -61,7 +62,8 @@ generate_flow(uint16_t port_id, fill_actions(actions, flow_actions, outer_ip_src, next_table, hairpinq, - encap_data, decap_data, core_idx); + encap_data, decap_data, core_idx, + unique_data); fill_items(items, flow_items, outer_ip_src, core_idx); diff --git a/app/test-flow-perf/flow_gen.h b/app/test-flow-perf/flow_gen.h index f1d0999af1..dc887fceae 100644 --- a/app/test-flow-perf/flow_gen.h +++ b/app/test-flow-perf/flow_gen.h @@ -35,6 +35,7 @@ generate_flow(uint16_t port_id, uint64_t encap_data, uint64_t decap_data, uint8_t core_idx, + bool unique_data, struct rte_flow_error *error); #endif /* FLOW_PERF_FLOW_GEN */ diff --git a/app/test-flow-perf/main.c b/app/test-flow-perf/main.c index 8b5a11c15e..4054178273 100644 --- a/app/test-flow-perf/main.c +++ b/app/test-flow-perf/main.c @@ -61,6 +61,7 @@ static bool dump_iterations; static bool delete_flag; static bool dump_socket_mem_flag; static bool enable_fwd; +static bool unique_data; static struct rte_mempool *mbuf_mp; static uint32_t nb_lcores; @@ -131,6 +132,8 @@ usage(char *progname) printf(" --enable-fwd: To enable packets forwarding" " after insertion\n"); printf(" --portmask=N: hexadecimal bitmask of ports used\n"); + printf(" --unique-data: flag to set using unique data for all" + " actions that support data, such as header modify and encap actions\n"); printf("To set flow attributes:\n"); printf(" --ingress: set ingress attribute in flows\n"); @@ -567,6 +570,7 @@ args_parse(int argc, char **argv) { "deletion-rate", 0, 0, 0 }, { "dump-socket-mem", 0, 0, 0 }, { "enable-fwd", 0, 0, 0 }, + { "unique-data", 0, 0, 0 }, { "portmask", 1, 0, 0 }, { "cores", 1, 0, 0 }, /* Attributes */ @@ -765,6 +769,9 @@ args_parse(int argc, char **argv) if (strcmp(lgopts[opt_idx].name, "dump-iterations") == 0) dump_iterations = true; + if (strcmp(lgopts[opt_idx].name, + "unique-data") == 0) + unique_data = true; if (strcmp(lgopts[opt_idx].name, "deletion-rate") == 0) delete_flag = true; @@ -1176,7 +1183,7 @@ insert_flows(int port_id, uint8_t core_id) */ flow = generate_flow(port_id, 0, flow_attrs, global_items, global_actions, - flow_group, 0, 0, 0, 0, core_id, &error); + flow_group, 0, 0, 0, 0, core_id, unique_data, &error); if (flow == NULL) { print_flow_error(error); @@ -1192,7 +1199,7 @@ insert_flows(int port_id, uint8_t core_id) JUMP_ACTION_TABLE, counter, hairpin_queues_num, encap_data, decap_data, - core_id, &error); + core_id, unique_data, &error); if (force_quit) counter = end_counter; @@ -1863,6 +1870,7 @@ main(int argc, char **argv) delete_flag = false; dump_socket_mem_flag = false; flow_group = DEFAULT_GROUP; + unique_data = false; signal(SIGINT, signal_handler); signal(SIGTERM, signal_handler); @@ -1878,7 +1886,6 @@ main(int argc, char **argv) if (nb_lcores <= 1) rte_exit(EXIT_FAILURE, "This app needs at least two cores\n"); - printf(":: Flows Count per port: %d\n\n", rules_count); if (has_meter()) diff --git a/doc/guides/tools/flow-perf.rst b/doc/guides/tools/flow-perf.rst index 017e200222..280bf7e0e0 100644 --- a/doc/guides/tools/flow-perf.rst +++ b/doc/guides/tools/flow-perf.rst @@ -100,6 +100,11 @@ The command line options are: Set the number of needed cores to insert/delete rte_flow rules. Default cores count is 1. +* ``--unique-data`` + Flag to set using unique data for all actions that support data, + Such as header modify and encap actions. Default is using fixed + data for any action that support data for all flows. + Attributes: * ``--ingress`` From patchwork Sun Mar 7 09:12:00 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wisam Monther X-Patchwork-Id: 88683 X-Patchwork-Delegate: thomas@monjalon.net 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 770C5A0562; Sun, 7 Mar 2021 10:12:48 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A818422A355; Sun, 7 Mar 2021 10:12:29 +0100 (CET) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2086.outbound.protection.outlook.com [40.107.220.86]) by mails.dpdk.org (Postfix) with ESMTP id A2AD222A337 for ; Sun, 7 Mar 2021 10:12:26 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fL5Sxxjm7gqulZmApCC/UkKnUN04OS8jbyZEn61PgLXBBiawmbiRfzhA+hGUbJ6KHmoAef7LPe96DLMiZZxzDcsdWsfty8iUrWx9/hAK8E5sUrGMFfwKtAwKHMuVtLBJjPS0tb5FWvcCgADVYy4uzBRWhrWfDH+8UvHzId19IShxW38seLL7R1mJa26kw4x0OXr74bDZbrp4cSV4zuZHjUs5CLYCIccNp1Y1+U4oIQ3jMe4DATSjUbiA96QHsti9xaojkJab3KuYt8f1hJNXJxyK3aL55qiEYg/bZ4NXxPY25+pAiGvvXuB4VaD0mU+B1wugC3TOSqehfSAJ4jwUTQ== 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-SenderADCheck; bh=VEXot2nBvO2wWAZRVzmX0DRD63UrL0EkDxrULp8ehUg=; b=QVq/YLVyacjpCoUeuopYE2xtsUHHZvdLbEDxMmH1Ftxcg/P3FTtJMUEhc/+MPELYMDALsFWNCFLRgYOI2mIs9MFEW9WtmS52KonMGFopJL5HiwuL1AY+2LNC0fnai9ZscI6sIBpHbhrYueTZM5XK/3r5Avz7SkxXYPPkUIlV7Vnx54qQCHNEre7idJWCG/I7Pgmr56HzAQpgEvgpLl/zx+6UfNZdkDxfXkvnNxodo+y6K7AFY44Ae5ADztXSz+PcLyJ8xYN38xta67n4U4sweRt3EAqCmbHRaDx+2IFc/4HQT2EG3r/UC1l0myBbMyKZy3jGsleUopRYcpqwWCzqgw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.34) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=none sp=none 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=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VEXot2nBvO2wWAZRVzmX0DRD63UrL0EkDxrULp8ehUg=; b=bdpjx7Y7iEkAhPiNDF2dfEqSx+gvOkrUsvwJ3nJABtNs+rOwugidIzTtvozq4M2vyiktyxv/rwxfj+dOLstmRzv41JD0JeErUYMQdo4MyIZMnA4XBaj+zl7+BAO+D/fg0aGKatYmUt11owhfEbJZIi8yZ9B1n0AD9KJQP7fT2A0= Received: from DM5PR19CA0039.namprd19.prod.outlook.com (2603:10b6:3:9a::25) by MN2PR12MB3392.namprd12.prod.outlook.com (2603:10b6:208:cb::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3890.28; Sun, 7 Mar 2021 09:12:24 +0000 Received: from DM6NAM11FT048.eop-nam11.prod.protection.outlook.com (2603:10b6:3:9a:cafe::a5) by DM5PR19CA0039.outlook.office365.com (2603:10b6:3:9a::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3912.17 via Frontend Transport; Sun, 7 Mar 2021 09:12:24 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.34) smtp.mailfrom=nvidia.com; dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.112.34 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.112.34; helo=mail.nvidia.com; Received: from mail.nvidia.com (216.228.112.34) by DM6NAM11FT048.mail.protection.outlook.com (10.13.173.114) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.3912.17 via Frontend Transport; Sun, 7 Mar 2021 09:12:24 +0000 Received: from nvidia.com (172.20.145.6) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sun, 7 Mar 2021 09:12:22 +0000 From: Wisam Jaddo To: , , , , CC: Date: Sun, 7 Mar 2021 11:12:00 +0200 Message-ID: <20210307091202.586-4-wisamm@nvidia.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210307091202.586-1-wisamm@nvidia.com> References: <20210307091202.586-1-wisamm@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [172.20.145.6] X-ClientProxiedBy: HQMAIL101.nvidia.com (172.20.187.10) To HQMAIL107.nvidia.com (172.20.187.13) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8cb2536c-86f8-4b9e-b654-08d8e1491f4d X-MS-TrafficTypeDiagnostic: MN2PR12MB3392: X-LD-Processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:204; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hWEGdoPvIL2Gmx1lIFqkPHkLY/gVGCbfeofruZWEVcr9rNnQI0tuie8xvJCnhRY56zvHPwUevUIzPnbGcETuwad1u8DlTKxZyvDUa0AbfW2JUdBhBaqzYsDLBqgiyu+ZOMDRxNbbEHec14YkEmm+upgAZCj94vciO42GkBKtup/rdikDPbFrg2OER8Y4XzJp4C//k5zdBNXwDBzCyH+7pg2RZRBKubRFaX7L1bqTVn3iU9G3GNtgHounKLwCU24uYPc+QmYG3qAXBn4F7aIacQg1kZst5XOYeXCRa9WDQlIFr7lyibJkPwmy1oanIo91LWysBy4MQRxXGBeZj581O6gIm0+Tpps6RZlPz0+IIU7XQyJ0cw7GQzoB+BaqxUm096AXq35Icb/fDwo3G6kNapdGnLN20TvElDgWBC7TUp6zlZEvdB9JY9oRZe6FfrutFks/mNgFr/tSGJJMwmb9+JuQInvBgh0Ek5gMFh5sw4J2OytwvkAklGBXNevujskfGje/PQ8eZ7RqSi8OeKf11o+W+wu9uLYUxL9s0slgpK/pekNqhM5AkLfUME8HoRDQMunPRS49ytA+860g51JpKfOfzP7BsKK6UaoNdU2LDMTZRnMzRvLl2SeboNg27PH5lK4cwy7Y10eUNpCdHkiUgCj28r0LvNs7kS5OeQ4m/78TiH4J65oyq5g+DVuyX3SS X-Forefront-Antispam-Report: CIP:216.228.112.34; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid03.nvidia.com; CAT:NONE; SFS:(4636009)(346002)(376002)(39860400002)(136003)(396003)(36840700001)(46966006)(4326008)(107886003)(34020700004)(55016002)(83380400001)(36906005)(5660300002)(8936002)(36860700001)(110136005)(47076005)(82740400003)(86362001)(26005)(36756003)(316002)(2616005)(7636003)(7696005)(2906002)(70586007)(186003)(82310400003)(356005)(426003)(478600001)(336012)(1076003)(8676002)(16526019)(6666004)(70206006)(6286002); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2021 09:12:24.6004 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8cb2536c-86f8-4b9e-b654-08d8e1491f4d X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.112.34]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT048.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB3392 Subject: [dpdk-dev] [PATCH 3/5] app/flow-perf: fix naming of CPU used structured data 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 Sender: "dev" create_flow and create_meter are not correct names since those are records that contain creation and deletion, which makes them more of a record for such data. Fixes: d8099d7ecbd0 ("app/flow-perf: split dump functions") Cc: dongzhou@nvidia.com Signed-off-by: Wisam Jaddo --- app/test-flow-perf/main.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/app/test-flow-perf/main.c b/app/test-flow-perf/main.c index 4054178273..01607881df 100644 --- a/app/test-flow-perf/main.c +++ b/app/test-flow-perf/main.c @@ -105,8 +105,8 @@ struct used_cpu_time { struct multi_cores_pool { uint32_t cores_count; uint32_t rules_count; - struct used_cpu_time create_meter; - struct used_cpu_time create_flow; + struct used_cpu_time meters_record; + struct used_cpu_time flows_record; int64_t last_alloc[RTE_MAX_LCORE]; int64_t current_alloc[RTE_MAX_LCORE]; } __rte_cache_aligned; @@ -1013,10 +1013,10 @@ meters_handler(int port_id, uint8_t core_id, uint8_t ops) cpu_time_used, insertion_rate); if (ops == METER_CREATE) - mc_pool.create_meter.insertion[port_id][core_id] + mc_pool.meters_record.insertion[port_id][core_id] = cpu_time_used; else - mc_pool.create_meter.deletion[port_id][core_id] + mc_pool.meters_record.deletion[port_id][core_id] = cpu_time_used; } @@ -1134,7 +1134,7 @@ destroy_flows(int port_id, uint8_t core_id, struct rte_flow **flows_list) printf(":: Port %d :: Core %d :: The time for deleting %d rules is %f seconds\n", port_id, core_id, rules_count_per_core, cpu_time_used); - mc_pool.create_flow.deletion[port_id][core_id] = cpu_time_used; + mc_pool.flows_record.deletion[port_id][core_id] = cpu_time_used; } static struct rte_flow ** @@ -1241,7 +1241,7 @@ insert_flows(int port_id, uint8_t core_id) printf(":: Port %d :: Core %d :: The time for creating %d in rules %f seconds\n", port_id, core_id, rules_count_per_core, cpu_time_used); - mc_pool.create_flow.insertion[port_id][core_id] = cpu_time_used; + mc_pool.flows_record.insertion[port_id][core_id] = cpu_time_used; return flows_list; } @@ -1439,9 +1439,9 @@ run_rte_flow_handler_cores(void *data __rte_unused) RTE_ETH_FOREACH_DEV(port) { if (has_meter()) dump_used_cpu_time("Meters:", - port, &mc_pool.create_meter); + port, &mc_pool.meters_record); dump_used_cpu_time("Flows:", - port, &mc_pool.create_flow); + port, &mc_pool.flows_record); dump_used_mem(port); } From patchwork Sun Mar 7 09:12:01 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wisam Monther X-Patchwork-Id: 88684 X-Patchwork-Delegate: thomas@monjalon.net 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 0FEAFA0562; Sun, 7 Mar 2021 10:12:55 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 09E2422A35C; Sun, 7 Mar 2021 10:12:31 +0100 (CET) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2071.outbound.protection.outlook.com [40.107.93.71]) by mails.dpdk.org (Postfix) with ESMTP id A273422A353; Sun, 7 Mar 2021 10:12:29 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nie8o1XSOTXC05Nm8LjR6uZhVv+CLRMLRO6tC8DFTEyiYV+7IbWaxWhkoNL3+VDY9ZRJD38ohUG1Qf4Ujl1eY2dtB8nkJ6rKTNF09XHSbktjo1/AKOcT5A0qhvkCaxPnMbOztodQVsyQrP+XlStaKtK8JvvpoRf4YuesYon/An/WJnf7vri27twfbbB/kFm7ZaJZ+ysjtVueee1AFL7ntUHtPbyQ53ajRjjYZNPTDMwZJ36ty9o4Yjn+RcrgC+yGqBM0aX3UUXBhHisLgnPXdjoK10jS+FIZfeebbGyT/5madmm7MPQFqaMlMj9rArtlYhpkZCr1hQoZkXlKO1XJ1Q== 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-SenderADCheck; bh=1f9K6+Ak8rvXKQOw8bb4VPkXFNgQ3U80OdRR2d/YESo=; b=JZN6FLzoiZn6maidqaIq8UKKoh9GE9NhfJ8pHlThlJmkZMoKHIh5hAHD4bHTPKJReI+YFEfOREiLhZcLfxbnOZ/HCOFz6ZWPS5wn+tk6NWHRkGxa88Lq5J+H3hKy96wiEe5be7R6D6+HR2y0cZWzUVqg7fRYuk+PFpy439KSRj9a/qUcdbibAs4I94eouYpc1x05LP2UDnxkgtrOa7iYkLurWo/58w+k5nUWKw0RXmxLs6ol1exbXqdKI2h/zFE8Qfs3p99I2XDcsqKKD7p5Xs3MF5jcOmho8YUSMmZLD7YFjAH2+X2CqKAnJDUi/kaH/Y3/RsduFxRgYhgHiTqXrA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.34) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=none sp=none 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=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1f9K6+Ak8rvXKQOw8bb4VPkXFNgQ3U80OdRR2d/YESo=; b=E80/pI1XVT/LhHn2N5LXJkv7Uo0H97algOuJEEPNs08gqYp9lyhsOG+IVBYqe8Zu5FUzBY742ycgRZmkXmdkGK9zhGGQiGCZnAGKt2zxYDxua465saMK934MKwQA8SQrAWKuhNwa9eTtGSmTJe20SRlDN7ZedXwkXLzJ1sh78bk= Received: from DM3PR12CA0102.namprd12.prod.outlook.com (2603:10b6:0:55::22) by CY4PR12MB1861.namprd12.prod.outlook.com (2603:10b6:903:11e::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3890.23; Sun, 7 Mar 2021 09:12:27 +0000 Received: from DM6NAM11FT032.eop-nam11.prod.protection.outlook.com (2603:10b6:0:55:cafe::64) by DM3PR12CA0102.outlook.office365.com (2603:10b6:0:55::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3912.17 via Frontend Transport; Sun, 7 Mar 2021 09:12:27 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.34) smtp.mailfrom=nvidia.com; dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.112.34 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.112.34; helo=mail.nvidia.com; Received: from mail.nvidia.com (216.228.112.34) by DM6NAM11FT032.mail.protection.outlook.com (10.13.173.93) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.3912.17 via Frontend Transport; Sun, 7 Mar 2021 09:12:27 +0000 Received: from nvidia.com (172.20.145.6) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sun, 7 Mar 2021 09:12:24 +0000 From: Wisam Jaddo To: , , , , CC: , Date: Sun, 7 Mar 2021 11:12:01 +0200 Message-ID: <20210307091202.586-5-wisamm@nvidia.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210307091202.586-1-wisamm@nvidia.com> References: <20210307091202.586-1-wisamm@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [172.20.145.6] X-ClientProxiedBy: HQMAIL101.nvidia.com (172.20.187.10) To HQMAIL107.nvidia.com (172.20.187.13) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 393ffc90-a04f-4fed-4da1-08d8e14920cb X-MS-TrafficTypeDiagnostic: CY4PR12MB1861: X-LD-Processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4502; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: y0OFLlfHfxfbX2UYAKU1pabuu3hIFEjEesGiscwd20NZ/ticHVSZyfjI/VEjKkXVvv4DB15tSkT8WJT/hNC7nId7NTwsUzoFlchnYwUg88N4g8Vc7IFOslPSCcI7TVHHtmr/Wl8+VuH7/O2ZuevmO7mje46Fe4X9CsIsuDPHaWLgAsm6JBGOBNHvw1Nh+Yn16GTx9QIGGIi8/5Bv49dkg3A2PrtqC/CdAW5kUs4r1FMSu4bwDQKL7JEfE754vD0t7nJAtgUwBMuqxlv3eJb7xu9jt9EeuC5YHDg3zuYvlukfadhIBLNyBhufuaMgA2+r338uMuS8meY+3NFr/jhueuDUw2SfQ/GVeLz2A7UUuoPgLAR6n1wVv7AW3XTuBp8syihU+oC0R1HXG/LIRxuAoPQAuWIfwaS8RE784CtCD+RZq+EzVsukCf2J+lD0Ohg/3bBj2BfFJFlTsgySoCZTtQXlVUZZuzENHL89+KO1K7XsiafMJYMB5HGA6zG8EOQvDck7tM0q+Oq54Ef+RtI+LmbZ4P8nLcJzxmHPslHiirDTkOR0TX0TdP5d9a5IPIUAFOKzKHoNBWilVQJcNa18KoA2MZejlw0kLuRhtPpsYL8y4l57mJklxZpDR41QCiE/4CtaZeBV6VsqS0IBgMr8eTsDfEsifDF7w6+1KgnPW3VNivGgJX31rwiY7cH7HL6V X-Forefront-Antispam-Report: CIP:216.228.112.34; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid03.nvidia.com; CAT:NONE; SFS:(4636009)(376002)(346002)(136003)(39860400002)(396003)(36840700001)(46966006)(7636003)(70586007)(70206006)(82740400003)(356005)(86362001)(5660300002)(6666004)(4744005)(55016002)(36906005)(7696005)(83380400001)(82310400003)(6286002)(316002)(54906003)(186003)(1076003)(16526019)(110136005)(34020700004)(478600001)(2616005)(336012)(4326008)(36860700001)(426003)(8676002)(8936002)(2906002)(36756003)(47076005)(26005); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2021 09:12:27.0852 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 393ffc90-a04f-4fed-4da1-08d8e14920cb X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.112.34]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT032.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR12MB1861 Subject: [dpdk-dev] [PATCH 4/5] app/flow-perf: fix report total stats for masked ports 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 Sender: "dev" Take into consideration that the user may call portmask for any run, thus the app should always check if port is needed to collect and report or not. Fixes: 070316d01d3e ("app/flow-perf: add multi-core rule insertion and deletion") Fixes: d8099d7ecbd0 ("app/flow-perf: split dump functions") Cc: dongzhou@nvidia.com Cc: stable@dpdk.org Signed-off-by: Wisam Jaddo --- app/test-flow-perf/main.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/test-flow-perf/main.c b/app/test-flow-perf/main.c index 01607881df..e32714131c 100644 --- a/app/test-flow-perf/main.c +++ b/app/test-flow-perf/main.c @@ -1437,6 +1437,9 @@ run_rte_flow_handler_cores(void *data __rte_unused) rte_eal_mp_wait_lcore(); RTE_ETH_FOREACH_DEV(port) { + /* If port outside portmask */ + if (!((ports_mask >> port) & 0x1)) + continue; if (has_meter()) dump_used_cpu_time("Meters:", port, &mc_pool.meters_record); From patchwork Sun Mar 7 09:12:02 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wisam Monther X-Patchwork-Id: 88685 X-Patchwork-Delegate: thomas@monjalon.net 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 866CDA0562; Sun, 7 Mar 2021 10:13:03 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6F06122A371; Sun, 7 Mar 2021 10:12:33 +0100 (CET) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2048.outbound.protection.outlook.com [40.107.236.48]) by mails.dpdk.org (Postfix) with ESMTP id 10A3522A34E; Sun, 7 Mar 2021 10:12:32 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NXsLaLX9Fk44cvKng+WRi85l0MocmFwzPcuu4H7SMMA+iymoE+a33IgnmkoDFqJxOMYlVnV4KQkF01j8Q+W/h9Ha5imWLfD+VPYFHp/5X0Z2mtfYmmJ4ogPT8yJ1affKlKD9iikdZd/v3zFDae9mjeud5TIFBKojCdXEtDC/T8gmeEOydzH7ia5EQ3Irsnbrm8MSN8eFIIXE/Cii005nNbLCDpzB1IQ7146KwwfFv/rmjY/mcZb8a0R0vNoHhb3B1xKoGvw2NIDZDBrGLMljecwaSSkkaqlphF1G1Bxh1DRwtXgZ27cN5Efwoqd1KbcRmU2QYkS08rkp2hjbsNxebw== 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-SenderADCheck; bh=u5+Zsrvf2Ngrc3dLWxNV+7sxU2N4vTEVZR1t47F5PCo=; b=kgpxBy5UCsUY1j6f4oFIIfVLTRVyh9g324GJhsSPZsnNIjcB6GPcrvBl1YpNAFc6mhP7u9qufWtRu8Xx1CQJq0pYptkDKYNhO0Vz46ZSj0nZo+lDBNQ65CoudB16OP/SPdG6POKD/pVAj8hphheo7JHFoWi+AVI5FbBHzDbb/ubawgDKq/yzwuyL9auVXElnCGxNEVKdUxxu8HQkLYLxdSqtmoufvbPEAuQcVkm/tbsQHi3emrzvmfUrGdLhX2Aa5PK5bSBb7t+vBBkqsHFw+PUDcSbBlE/Mriz8qGV61OLpJjjwj3v37mKCz7lqy01IfTKqjWFcKMbJK++vjZzzVw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.34) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=none sp=none 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=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=u5+Zsrvf2Ngrc3dLWxNV+7sxU2N4vTEVZR1t47F5PCo=; b=ss2ewPWmZ6e3dpmh8UNLOCLJT7UOudQLJxI6M2wpK3JgIxD0/xcgHddbV2ndEl+VxYhCrYiEPSoOb1RFLNaaOYwrMZF9WPJfow8Kcob+KyU73fOj97D8qAVcR1E7n64SrCjAhb2szZLyoPuxgqPli87P2n2d3lx+dLFocUeH6EM= Received: from DM6PR07CA0073.namprd07.prod.outlook.com (2603:10b6:5:337::6) by DM6PR12MB3580.namprd12.prod.outlook.com (2603:10b6:5:11e::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3890.23; Sun, 7 Mar 2021 09:12:29 +0000 Received: from DM6NAM11FT055.eop-nam11.prod.protection.outlook.com (2603:10b6:5:337:cafe::6f) by DM6PR07CA0073.outlook.office365.com (2603:10b6:5:337::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3912.17 via Frontend Transport; Sun, 7 Mar 2021 09:12:29 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.34) smtp.mailfrom=nvidia.com; dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.112.34 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.112.34; helo=mail.nvidia.com; Received: from mail.nvidia.com (216.228.112.34) by DM6NAM11FT055.mail.protection.outlook.com (10.13.173.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.3912.17 via Frontend Transport; Sun, 7 Mar 2021 09:12:29 +0000 Received: from nvidia.com (172.20.145.6) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sun, 7 Mar 2021 09:12:26 +0000 From: Wisam Jaddo To: , , , , CC: , Date: Sun, 7 Mar 2021 11:12:02 +0200 Message-ID: <20210307091202.586-6-wisamm@nvidia.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210307091202.586-1-wisamm@nvidia.com> References: <20210307091202.586-1-wisamm@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [172.20.145.6] X-ClientProxiedBy: HQMAIL101.nvidia.com (172.20.187.10) To HQMAIL107.nvidia.com (172.20.187.13) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3b63adbb-6ad2-4f48-7314-08d8e1492259 X-MS-TrafficTypeDiagnostic: DM6PR12MB3580: X-LD-Processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:576; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: sOzdF+J0yskIoq/peijRBlvTnBbsNnjj6OEXXoueAC7ONan3O6nZR5JsYpATi7xKKoxn6SVq2y2p5KOnmJG7xyp4Glvo+85kfUNFifwOn9k1Ajb3Tci+o/Ys0uV+BPXAhojyRyCljzpG937A9aQeiDcIw2zgbkLFUAsBSV2LBHC1ddOem9kqTwjn/lrkqwAwEe6NY864c+bbq69jlFG1e6H/V2OCukVi06AChNpeKEOBmVeeTLj7xDZItkbwcV02aGqdqlbAd2ZGbbn1R8shCmlbkfpZUENaaC5PmvwqGsZRs9auY3g/NNPbG/ITYsJ1ZQzz+RiQLgxFF/GsuQLLs/jLWluCxdFuN/S/GDacf8qsRRFx4KRhx6AizpysGAvbIrl8+DRMdtwb+iQNPddYROQZD2VPpemlxvamtyt4FRmaQTAFKBGeV2dZQhj9lkPnAvxLsT701dBKzi7AcG5FTVSXbVRW6UDtEwRJwCefP3ajHfjnNxBs/PMvwtb5s8av/V9pyr1Q6SMEMrCCpOcZEBfD2eq8t9VXeAahHp3KpHTZuQqJRqDlXkUUsyJhnuovRNV8h5HVr3kznuPSnFtbQ4AFXzFmS+caKBny8ruZLHIcx1+eBGCEz68xTuBNnMh/HRag28Y1eibeMtVNDAjIfrbDmCf+JqsqYRwsf2i/vjSZ//urji9W2eZ4qTq++XwE X-Forefront-Antispam-Report: CIP:216.228.112.34; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid03.nvidia.com; CAT:NONE; SFS:(4636009)(136003)(396003)(346002)(39860400002)(376002)(36840700001)(46966006)(7696005)(336012)(86362001)(2616005)(55016002)(426003)(1076003)(82740400003)(82310400003)(478600001)(34020700004)(47076005)(70586007)(36756003)(5660300002)(16526019)(186003)(26005)(2906002)(316002)(36860700001)(6666004)(8936002)(110136005)(6286002)(54906003)(8676002)(4326008)(356005)(36906005)(7636003)(83380400001)(70206006); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2021 09:12:29.6865 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3b63adbb-6ad2-4f48-7314-08d8e1492259 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.112.34]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT055.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB3580 Subject: [dpdk-dev] [PATCH 5/5] app/flow-perf: fix the incremental IPv6 src set 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 Sender: "dev" Currently the memset() will not set a correct src ip that represent the incremental value of the counter. This commit will fix this and each flow will have correct IPv6.src that it's incremental from previous flow and equal to the decimal values. Fixes: bf3688f1e816 ("app/flow-perf: add insertion rate calculation") Cc: wisamm@mellanox.com Cc: stable@dpdk.org Signed-off-by: Wisam Jaddo --- app/test-flow-perf/items_gen.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/app/test-flow-perf/items_gen.c b/app/test-flow-perf/items_gen.c index ccebc08b39..a73de9031f 100644 --- a/app/test-flow-perf/items_gen.c +++ b/app/test-flow-perf/items_gen.c @@ -72,14 +72,15 @@ add_ipv6(struct rte_flow_item *items, static struct rte_flow_item_ipv6 ipv6_specs[RTE_MAX_LCORE] __rte_cache_aligned; static struct rte_flow_item_ipv6 ipv6_masks[RTE_MAX_LCORE] __rte_cache_aligned; uint8_t ti = para.core_idx; + uint8_t i; /** Set ipv6 src **/ - memset(&ipv6_specs[ti].hdr.src_addr, para.src_ip, - sizeof(ipv6_specs->hdr.src_addr) / 2); - - /** Full mask **/ - memset(&ipv6_masks[ti].hdr.src_addr, 0xff, - sizeof(ipv6_specs->hdr.src_addr)); + for (i = 0; i < 16; i++) { + /* Currently src_ip is limited to 32 bit */ + if (i < 4) + ipv6_specs[ti].hdr.src_addr[15 - i] = para.src_ip >> (i * 8); + ipv6_masks[ti].hdr.src_addr[15 - i] = 0xff; + } items[items_counter].type = RTE_FLOW_ITEM_TYPE_IPV6; items[items_counter].spec = &ipv6_specs[ti];