From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0050.outbound.protection.outlook.com [104.47.0.50]) by dpdk.org (Postfix) with ESMTP id 4A1DE1DB8 for ; Fri, 27 Jul 2018 04:23:15 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=UMViekXY/oOSEC7AXyRJ//FuZO9WkPPrCJZTsDLi8Fw=; b=NsPGeFsDbAiTjAGiP08tdWwAbhG+cbTThb7mFxBXZWdb1hYQ33z8O9pe2j6/s4rEA/teTTpPpvtSR3fZ/KYhKXT6iXpVw6GQreZGJL8S8oKSbaPJr3u6A6KdI0uhjYKxCXSpNOcMDukc3RZ0JHYKetGKOTkZBDtUUrgzF+Hqcz8= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=yskoh@mellanox.com; Received: from mellanox.com (209.116.155.178) by AM5PR0501MB2035.eurprd05.prod.outlook.com (2603:10a6:203:1a::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.973.21; Fri, 27 Jul 2018 02:23:10 +0000 From: Yongseok Koh To: Ajit Khaparde Cc: dpdk stable Date: Thu, 26 Jul 2018 19:22:54 -0700 Message-Id: <20180727022254.37921-1-yskoh@mellanox.com> X-Mailer: git-send-email 2.11.0 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [209.116.155.178] X-ClientProxiedBy: BYAPR07CA0015.namprd07.prod.outlook.com (2603:10b6:a02:bc::28) To AM5PR0501MB2035.eurprd05.prod.outlook.com (2603:10a6:203:1a::21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3ec896db-3810-4bdb-0077-08d5f367e65f X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(5600074)(711020)(4618075)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(2017052603328)(7153060)(7193020); SRVR:AM5PR0501MB2035; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2035; 3:7YsAPIqKBHCC02zSNJ3yslBXfWTS3sMebjkKyDj85C/op6Vx3F+Y98sMNmb4DK6vK14k/t/CIdgUK7bwYiYcEp38nBsVS3EppLjq2I3sZAuzL146ub4bGzYFRtSHu2+arm5Y8D8FeaNt8B1N3IzdPmGw4/ZMTUG5+JpFalbIt0OdDLNg2eDKbBH2xwOdlpHX4EFWjMBYtZPh2dSsH3fLAnsbMoP8LHNI1tMD2PbvNN02fdyRX6yU2Nov+EmwCoLr; 25:wHMNkLGpqk1Uzv7p3F8JpzESIj0hlq+mjcxOCEEAV0m/w5iJANuj9mEQcp9RnIgSv9l78pNmy3lUld4/942XVm6oxrbwZocSs6r29XJTAK0TR+cPwpAkgYN3ob9IyWMBmIfS7RB63Dqtnib4Z04mL8ZJRLgMoGYBhcuaCz2HV+zMrKxBCbjZrQu9P8ptoamwJWyuIzRfTHwCWV8MRMSR2/vTyQWa0MtYNAQjvQU3UL+nkcdrEg3+PEKxofNrbmvxVlJ7wE70iyQNOdMezfEECsg/lyeG76sdkJLJpaVS+XhJSsyExwJJMbp91RaXG9nCxwwFBhEKZQLWplvWSFURmA==; 31:fx+v3n/swIchWvB+yQA/1Cnk5zRQITj901fO+GnSR12f7ddJrP0i3ByR9xzayUb5vJooNs8EOvUcEei2O9jaX0hlPcPa7g25DvtCOxNCGgMB2EXYDAbF0ej6mvEfoY0tXPntX31tqeaRXca1mWDjByFJUAgvd8oxbIcjawoH33esHR74Oj1+1ZVFw91iRDxQv9lgbAdUhCxEl0/2DEALHjp9jkD8W8IcSarbpXhrL1k= X-MS-TrafficTypeDiagnostic: AM5PR0501MB2035: X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2035; 20:pahESl2LIRvRDrAtWEWC1BhIFD1vqHOeqk1sZCPGGaSOsfyYoQ/M/KYdGcnE9iDhF7qU2vnOROp109k7ThjkS7paTh306YCqtu0SFQyFJcxRh4P8f7e6D3LAG14HXhZbJLTka+MmF9F67JETAy1WJt0Ov733zYzxHR3mMSe2GCHeCAZzKIm+YGdaYm5FwL3WLEIpeLMYxprtqiWQcat2jxZUewBUy/LlRscNhSx2EuQjPg+EtbA4oqCqidsbgGwLUY4yfKEn4irFya6bKXDIRMpeo0OXnU9lNNzkwT0I7T8uwcC9IqIZjoI+g/0Z03lopOwiSeh+orbkkvTvNbQ/5NYmutyNDENrLkfFbjX92TKQKMQlCx/btlkZZ2NAwYD06HFdohuBfGfWIjH7Usp8ubYko92V6y+Giyyc4SU7heF/MOMTM/VbgBTtHEVRZ8GBKdloN/hC/oF1yXYeTH+pFR5rXU/JgsJRcaX+/i1cJQNhbSNhzSabboOI5IPLioLj; 4:tjPwysWHieicqD57qExkKPX/VD7T0bcUfcWZXWrJPUF7gv7o2W9gNtPpggP6C7L0hecXc7EQ9/ZwhbLkR/dXtjV/B8HcjZiCp0LIgdRW7I0foWmDgV4zyKme2cKNtJ/VfZkeSUMhAyJy6JVUpQGHDIKaG7cKfggOx3utr80ySxY8FlTBZBobdfGrihMyFG8qBYaxR0RvahFuycWf1RGOsx+xEfAvzGv+qPgC3zKQ6lRTUZUOx4hFMaA34693iysaWw3+XzGucQQhKwRvAOAhT4nqnCj/8E+WjRoLDyNKbEj13QWhGkjF7VfWBNCAolxW X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(208715162771679); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3002001)(10201501046)(93006095)(93001095)(3231311)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(20161123562045)(20161123560045)(20161123564045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011)(7699016); SRVR:AM5PR0501MB2035; BCL:0; PCL:0; RULEID:; SRVR:AM5PR0501MB2035; X-Forefront-PRVS: 07467C4D33 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(366004)(39860400002)(396003)(376002)(346002)(136003)(28163001)(69234005)(199004)(189003)(81166006)(186003)(8936002)(68736007)(7736002)(50226002)(21086003)(8676002)(36756003)(305945005)(26005)(81156014)(97736004)(6306002)(55016002)(2906002)(69596002)(956004)(16526019)(476003)(53936002)(486006)(2616005)(14444005)(1720100001)(966005)(6916009)(25786009)(6666003)(4326008)(48376002)(50466002)(1076002)(52116002)(51416003)(7696005)(386003)(53546011)(3846002)(316002)(16586007)(6116002)(47776003)(5660300001)(66066001)(53376002)(86362001)(106356001)(478600001)(575784001)(105586002); DIR:OUT; SFP:1101; SCL:1; SRVR:AM5PR0501MB2035; H:mellanox.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0501MB2035; 23:GlXsXfEFSojmn6cuuq2ARKBjMq9svFuvusZG0iW?= =?us-ascii?Q?lpTaZ/HpB5oK6ZYWlMyxZ0aYFow9xYA54iOBQXbo/XZUKgqHHvGMRXOqUTiZ?= =?us-ascii?Q?V3MF3an36BVL8vOgcWs5FKLDrvjgU87wA37RYCO/bX87qychsTUzEfsn7ZzU?= =?us-ascii?Q?7ca5547IUnBBRQ9d/9EhMU1FloHvtkakfXnwlh/1mh3pPTzLu+0W8HxURHpu?= =?us-ascii?Q?EpQZHv+h6+fCSeKKBHiak91kdIcC6UgFEF47kC7XjTltnx6xaFziFptNEtqx?= =?us-ascii?Q?etWim0UnMzKyZtaydS5EKF2s2qxCaSJcH8mtHlmwR6kyOguqGRxO3p6QMJhN?= =?us-ascii?Q?bv/k3f9NWI86b8qh2WaA0RGqPdRUz9hOXj8fNtQzq8QIT7TuFPCWMXjqhBRB?= =?us-ascii?Q?hka+MYhma98mwhWO2f8e0pf04HQpXxxn2nOQMe9vFmeudUFJfcozCBwSNd/1?= =?us-ascii?Q?/aUv/pA/inm8RMFjZn1NLqX04UA1YyE3Ys1VmE8cS8DuSy4eJ4eOUbg4jIdi?= =?us-ascii?Q?o/2UBDK4fiT9KgtRRjLBBnOfPw4D/rhxHF+bFG5yrf4SVKE+KSPzjZHvUaIW?= =?us-ascii?Q?F99ODMEyj9AbBKPAhmg0IQkhN/SzRaXGtWV9k1sXpiJblK6vhyejhIvZTqn3?= =?us-ascii?Q?uvyJUSBVWkL1xEKfJVUEKjicRmUeitqxUPEqxGD1bLAHgtYAEP0iOOA6OZoD?= =?us-ascii?Q?YpV+mWbCcCKY9mDZyufGiN6ZauOEEHEx7LgBxlwMdUvYpEDnSlSWbkUNGk+E?= =?us-ascii?Q?oEZA/UBgv9iP+6VF4Pakv2TlEOmY6HGl6xtrPw8Fkzdd3nppcI8hZR4blpUX?= =?us-ascii?Q?dZKA9Cej3+by6H1Yb/KFZK+iqEgg36/UySiHeT0S8DrmY6rLtt+0Ob+TKruy?= =?us-ascii?Q?Q06bSUo8Ue08ZB05Zj5R9CLk6GhDxrUwwZpNimj0SV9jAFLaGfRhSN+a5HGB?= =?us-ascii?Q?hc3slflqrVG/PTNZR4L1oNdg50NVqBFXydn0J6LpRtaTYZhgk4g9zjLrDxUw?= =?us-ascii?Q?T+k/kCH6nSB5fJr7hO/GKj//Lb9dwHwjcGUV6oVL7WVn416Fp/t505vdROrm?= =?us-ascii?Q?zs5SQADKpWx7Km0hKk0GXKF3z1PW1OrhvizIqa6pErnlLsghrdoPxEnRjuAf?= =?us-ascii?Q?9696o4eETDtnQCNlsP2Sie1EmueuaKzFRN+Wo9QxxDcGe0Ejejn3yZm8ZmEK?= =?us-ascii?Q?bPQTbmzN9PAsino7rPg28c24jzVsO17QGNwAISEK/YNRbauStlXnfbiM9Rns?= =?us-ascii?Q?c1tFR5rDDT4i0m2SjNYVeUjoIRZw87a4pahAw4IZr9bHuE+q75mm4By7Q3ps?= =?us-ascii?Q?fHSczYU7V5BIFF2kBBR4uZV2GGAjJWv62ruZmI1JyCPWl0fXgYFf9APJGDf3?= =?us-ascii?Q?xmcg3Yg=3D=3D?= X-Microsoft-Antispam-Message-Info: jegDKmB4xyoADQqcgxVTUFkWQBDFltiwXlN70AanB57s4LddOlzLDW2Hjsd9T/2A/4YOtkG+LStPlawMpCfWoOBRTZVJLEcj/2q6lJvZKvAQsZ2DCRgePRc+umKupDgii9EziTiTfkIpaYXsnrmCIKu8ALiGRzM/cFiYygkThbZWBOSNUrynomz66vsIUO0BerxPSGFJLlt7Cn9XVzEHVTxFAoqjVQlHTmB+svdzLpj2FO32oi5RL8UZFc0mQeCJuPv97j+NgwuXWF6xO7KSrlE/KcCJ8AX+DsMDBdxr4XI4qxgjw40le04fWfZHrJ85VnB7a40GTXoPLIL8a7VPs5K+gF/i2tgqHeE5bElwlvw= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2035; 6:jwKWH6jsMkjfcVHqvz9WGem0kYRqIZk8IJ8Yl5Ug5OFdQkPtpsqSIkQ59Jergx343ufbAENhqGjPMKEQsKM0VMF1GfzpVepX7X7l5AL5IAUJk1lkWVx/ayR5eFtlTqN6yIqiN9EQktx6OojFN+i/sXVDTlI0iUr6m4jsUBE9Qs2h036ao+VFTmwNxIvwPs+MQaw9j3AXp5vuukb9qOMivB/1zh0pVo82rzeen9s1/TcjLzlLEo2my4tP+A5Yf8iACejTpYFTM1kb/FJH417fDDxYxXBfk2aGAOazLfXqJAypvAaMbjTqF3bzfUD8CPtty89szJfUNdTbn2TZPzEO7GsXu0ZY/FAoJ+PTeCXi7QaxgN6/5r5GdWPsny/yC9w1+cCeSOkvrNntS28NvYHPMCsCAH/5R3JiKEkoOn0AbwgnAaFEPAUMBoxGAlXJh+qXWLvKriSwjWNNv+sA6KaeRg==; 5:nF8nvUZoXLknIwT1h9xta8vTeMPGYIrVy5P2LtdD2csfazmad5ZkwyHgvMPiFBQzG29W0zzbDvUgkIu+5Vakv8Z/pDouQMVsqC4VOi+lDpHJuSsuVwDefc9fcQ+OLKILn/58twky+2Erc70BlR709jpunI9WB/5qS3sZUihKeKw=; 7:WgdeVGUnqihJRGNuO/KL2vRPippVKJKuqN466zwGxErXr559ZEnVtZHplnvzmEzz/6+UPz8LOdCnZePUFAgUg+oYxMVlpPeo3kN9SPT9qSVewOKswne0vrT39fYzS1GCX/4K+j9WLm0gkGQzugmKDVla/NgG9ab8s8wLydWMATpVQ38GJ6XrUhvfUYPqaMKe9SKCJjRc+Kr18hjG9ZY5Q/5nMSkUTPovKWAbe6PB4+AdXjb4qTonkdDD74CdDA+c SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jul 2018 02:23:10.7283 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3ec896db-3810-4bdb-0077-08d5f367e65f X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0501MB2035 Subject: [dpdk-stable] patch 'net/bnxt: fix Rx ring count limitation' has been queued to LTS release 17.11.4 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jul 2018 02:23:15 -0000 Hi, FYI, your patch has been queued to LTS release 17.11.4 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 07/28/18. So please shout if anyone has objections. Thanks. Yongseok --- >>From d812830649ae048ccd9517708eab6945e1bb6c5c Mon Sep 17 00:00:00 2001 From: Ajit Khaparde Date: Thu, 28 Jun 2018 13:15:48 -0700 Subject: [PATCH] net/bnxt: fix Rx ring count limitation [ backported from upstream commit 0a256e4a548b849be5c13f5c18046f3910584245 ] Fixed size of fw_grp_ids in VNIC is limiting the number of Rx rings being created. With this patch we are allocating fw_grp_ids dynamically, allowing us to get over this artificial limit. Fixes: 9738793f28ec ("net/bnxt: add VNIC functions and structs") Signed-off-by: Ajit Khaparde --- drivers/net/bnxt/bnxt_ethdev.c | 11 +++++++++++ drivers/net/bnxt/bnxt_hwrm.c | 5 ++++- drivers/net/bnxt/bnxt_vnic.c | 5 +---- drivers/net/bnxt/bnxt_vnic.h | 6 +----- 4 files changed, 17 insertions(+), 10 deletions(-) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index 2021e1bb7..c4846da95 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -248,6 +248,17 @@ static int bnxt_init_chip(struct bnxt *bp) /* VNIC configuration */ for (i = 0; i < bp->nr_vnics; i++) { struct bnxt_vnic_info *vnic = &bp->vnic_info[i]; + uint32_t size = sizeof(*vnic->fw_grp_ids) * bp->max_ring_grps; + + vnic->fw_grp_ids = rte_zmalloc("vnic_fw_grp_ids", size, 0); + if (!vnic->fw_grp_ids) { + RTE_LOG(ERR, PMD, + "Failed to alloc %d bytes for group ids\n", + size); + rc = -ENOMEM; + goto err_out; + } + memset(vnic->fw_grp_ids, -1, size); rc = bnxt_hwrm_vnic_alloc(bp, vnic); if (rc) { diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c index bc213fc06..f34358d44 100644 --- a/drivers/net/bnxt/bnxt_hwrm.c +++ b/drivers/net/bnxt/bnxt_hwrm.c @@ -1092,8 +1092,9 @@ int bnxt_hwrm_vnic_alloc(struct bnxt *bp, struct bnxt_vnic_info *vnic) /* map ring groups to this vnic */ RTE_LOG(DEBUG, PMD, "Alloc VNIC. Start %x, End %x\n", vnic->start_grp_id, vnic->end_grp_id); - for (i = vnic->start_grp_id, j = 0; i <= vnic->end_grp_id; i++, j++) + for (i = vnic->start_grp_id, j = 0; i < vnic->end_grp_id; i++, j++) vnic->fw_grp_ids[j] = bp->grp_info[i].fw_grp_id; + vnic->dflt_ring_grp = bp->grp_info[vnic->start_grp_id].fw_grp_id; vnic->rss_rule = (uint16_t)HWRM_NA_SIGNATURE; vnic->cos_rule = (uint16_t)HWRM_NA_SIGNATURE; @@ -1890,6 +1891,8 @@ void bnxt_free_all_hwrm_resources(struct bnxt *bp) bnxt_hwrm_vnic_tpa_cfg(bp, vnic, false); bnxt_hwrm_vnic_free(bp, vnic); + + rte_free(vnic->fw_grp_ids); } /* Ring resources */ bnxt_free_all_hwrm_rings(bp); diff --git a/drivers/net/bnxt/bnxt_vnic.c b/drivers/net/bnxt/bnxt_vnic.c index 5bac26053..293f96048 100644 --- a/drivers/net/bnxt/bnxt_vnic.c +++ b/drivers/net/bnxt/bnxt_vnic.c @@ -67,7 +67,7 @@ void bnxt_init_vnics(struct bnxt *bp) { struct bnxt_vnic_info *vnic; uint16_t max_vnics; - int i, j; + int i; max_vnics = bp->max_vnics; STAILQ_INIT(&bp->free_vnic_list); @@ -78,9 +78,6 @@ void bnxt_init_vnics(struct bnxt *bp) vnic->cos_rule = (uint16_t)HWRM_NA_SIGNATURE; vnic->lb_rule = (uint16_t)HWRM_NA_SIGNATURE; - for (j = 0; j < MAX_QUEUES_PER_VNIC; j++) - vnic->fw_grp_ids[j] = (uint16_t)HWRM_NA_SIGNATURE; - prandom_bytes(vnic->rss_hash_key, HW_HASH_KEY_SIZE); STAILQ_INIT(&vnic->filter); STAILQ_INIT(&vnic->flow_list); diff --git a/drivers/net/bnxt/bnxt_vnic.h b/drivers/net/bnxt/bnxt_vnic.h index 875dc3c1c..f18fb0a48 100644 --- a/drivers/net/bnxt/bnxt_vnic.h +++ b/drivers/net/bnxt/bnxt_vnic.h @@ -43,13 +43,9 @@ struct bnxt_vnic_info { uint16_t fw_vnic_id; /* returned by Chimp during alloc */ uint16_t rss_rule; -#define MAX_NUM_TRAFFIC_CLASSES 8 -#define MAX_NUM_RSS_QUEUES_PER_VNIC 16 -#define MAX_QUEUES_PER_VNIC (MAX_NUM_RSS_QUEUES_PER_VNIC + \ - MAX_NUM_TRAFFIC_CLASSES) uint16_t start_grp_id; uint16_t end_grp_id; - uint16_t fw_grp_ids[MAX_QUEUES_PER_VNIC]; + uint16_t *fw_grp_ids; uint16_t dflt_ring_grp; uint16_t mru; uint16_t hash_type; -- 2.11.0