From patchwork Sat Sep 8 20:30:54 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Mody, Rasesh" X-Patchwork-Id: 44448 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 714A25699; Sat, 8 Sep 2018 22:31:56 +0200 (CEST) Received: from NAM04-BN3-obe.outbound.protection.outlook.com (mail-eopbgr680069.outbound.protection.outlook.com [40.107.68.69]) by dpdk.org (Postfix) with ESMTP id 6C9FB4C8D for ; Sat, 8 Sep 2018 22:31:50 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QVGSG2zzDCkghp+AyaAihwz3YvDRKLtMQAB6m1OWdG0=; b=l8Lfyqsx+EOBUkecF6Ew6Dp8mE9oeu1Gu3Y5x/NNmqwaB6LWbLFB7ncquL/EUPkruMeMEriAQ3AS+TPwnEDmJrk1JWegS+VoHXFFY73tpctR3Vj4XuczI4DOvWSYyVzwUJ6gmBdpIC0AWGFn6Tpf5ePXWVPUp9rPSaj8G9qsn5M= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Rasesh.Mody@cavium.com; Received: from cavium.com (198.186.1.5) by DM6PR07MB5372.namprd07.prod.outlook.com (2603:10b6:5:44::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1101.18; Sat, 8 Sep 2018 20:31:48 +0000 From: Rasesh Mody To: dev@dpdk.org Cc: Rasesh Mody , ferruh.yigit@intel.com, Dept-EngDPDKDev@cavium.com Date: Sat, 8 Sep 2018 13:30:54 -0700 Message-Id: <1536438666-22184-6-git-send-email-rasesh.mody@cavium.com> X-Mailer: git-send-email 1.7.10.3 In-Reply-To: <1536438666-22184-1-git-send-email-rasesh.mody@cavium.com> References: <1536438666-22184-1-git-send-email-rasesh.mody@cavium.com> MIME-Version: 1.0 X-Originating-IP: [198.186.1.5] X-ClientProxiedBy: BYAPR02CA0031.namprd02.prod.outlook.com (2603:10b6:a02:ee::44) To DM6PR07MB5372.namprd07.prod.outlook.com (2603:10b6:5:44::17) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0b660b2b-83bc-4b7b-b393-08d615ca1a83 X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(2017052603328)(7153060)(7193020); SRVR:DM6PR07MB5372; X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB5372; 3:wc7JSRSaCtnnP0GPuRN+VEGK+jm2IpKxYtULG16y4Tq2+3Sctn7YfHMt/km9a12kEdWxnj3ZfI1GfnMdeqeBJGvTBRwmJAfadk8O46e//ZLshJ22aCV3q64il2fAALKnomRlBeK4NlwAgYGqOvcoMPM18Pfcon5iXsTfbkPfkexymzb6mc6b8KPWl+kIji4Nf1xPQxte/DXL7bbdYfpXeNkL+Rlwok6aXL31C3zMXgqULAQLenhC+PoTFMTuOsH8; 25:FOhcZFAWII2Tu5CRtxe5ZAEkrnpWj2bUhmUqcq6lQYdRJbaqro3Zp+8f0GzQaqDW5vLTHDlEVIHGTk9HQfs9TrLJCE1vF/RM8KfCkgqYpiku0FZOh1XTQc53+TTEddVGNIwZzWfszkJe1NUY6EEAJQ1HfKS+NzN964u++Yaz1mrm7bGOsbtXQvTiGXRg62aTe2ozFpKdt0M+0UhHe4iw7pihfnpw0gxjYk956bh5OlhCwLQg+HyZpvhMzQy5gf9RD5gteV7QngNzxUbTlclRzQDO7v1TFVY0ww0RZz1Q2Z4OXU1oD12tv0fr23WCInqWvHnNtWq0ym6HlWL3tC/Hlg==; 31:4cWQNOR2YfXdSAZfOJUorpzGTv928lgl4b4MJLIXiwws23bmORPsm5wDsx9PTvdCYLZuYFvihkwo0uJHJa2uFxu1w4k+XuA5hkZgl/41jO20pBZFWnhU1ADo8WruKNbsk4/bH3Z/hwoHOrtfIX07kAKGuhMEFhFIQrqGziC351rrQNyefsdkzVocu1fI6rID6YS7AGsnv+NIw7+9CzPG7DbcOsRTE7qnTM3U2vac394= X-MS-TrafficTypeDiagnostic: DM6PR07MB5372: X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB5372; 20:ISBwEXzWJqK6PBtir+ntcRHo2XpWqR0TQ1rJdaYV7eTJbgBaMupEeSU7Ys1wImwV1v5Xpoh+v7kcDXNfBMadcU9kWX+SN0nfUzywEab1Pac3dA+flHSTdiyUhyJ1drEFxGDVQ92gbi2luGEcPkan6fuaS61F5dEig6TGS7xJ2prVrYlTeuMH6zDMqsJLUSBc5pMUvxMYfGCc8/t+eKsiYE+XWhTd7ks0Sxk8gJgr6eH5XpnJxh0B0xYxam3bqCg8GVOOgYafqu6T4o4wq9Y6cgDNMG0VOFBKK2mLI6rTNWQfQkSdzIV5K+HIitjKqyZjexWUcnydkuu8+rizFpoI4YPQU8i+awjf8zcXCIZq0OgwYVw/1Q4sC+gChzl295VNk/kXk0bQncOMXtnDYHkmpzorMALmuIYcTz5q3wt5OQH3R75rmS443FkjB2CPzjl7aD49S1TYyuK8/zYc1WxEyT4LJElRn2EgU9P+RAT1o48NJRxzuCR9a6S0K5avDyvy; 4:kJUAe3/1E+Qrty6CfDx/vKWQCfGf5TspZg4e6mky9qijrLhhrioYmCy9E5hT1iChUJNz76jSzOvqblq/H417iEH5pIhzLND4AGHg4jx7Ciljs74/r2kL8OkTJpS4HAW6Lo55uk/r4A8vrghlKlIjnMKcliQBda1Nv58mGvdX5xzVq6XXEvRKh8T/8+LuLM9QYs7utT179Jyq8bFdGXaTcYhStRTnilhq+NO4QQWaMKT08j37RKmfTk8MNELH9EYSB6LDOeaOwOsAIxyNlpAOPg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(823301075)(3002001)(10201501046)(3231311)(944501410)(52105095)(93006095)(93001095)(149027)(150027)(6041310)(20161123562045)(20161123564045)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699050); SRVR:DM6PR07MB5372; BCL:0; PCL:0; RULEID:; SRVR:DM6PR07MB5372; X-Forefront-PRVS: 07891BF289 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(396003)(366004)(136003)(346002)(376002)(39860400002)(199004)(189003)(4720700003)(97736004)(2351001)(106356001)(105586002)(72206003)(66066001)(47776003)(4326008)(50466002)(48376002)(25786009)(305945005)(7736002)(2361001)(8676002)(478600001)(316002)(52116002)(69596002)(107886003)(186003)(50226002)(44832011)(16526019)(486006)(21086003)(2906002)(55016002)(26005)(8936002)(476003)(956004)(81156014)(81166006)(86362001)(5660300001)(6666003)(36756003)(16586007)(11346002)(446003)(2616005)(76176011)(3846002)(6116002)(6916009)(68736007)(14444005)(386003)(51416003)(53936002)(7696005); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR07MB5372; H:cavium.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM6PR07MB5372; 23:1x/x8sP661JTryYCgOVL3FFd0d4nh4PO32UAWZJmy?= lKnS1e0UvVHAB7nfk4lDDMvTfqOO18BzS94siIoFVfdr90m3mzow00obqaym6Lb9M/1IrNiwb2hPS+dp1b3yv94O7cw1mqJlPo86cSZdsjC/Gf4FppVFeFnnNPXtVPIZuKJHNXrKO3CHv4rotUqnj6gu+tiXRK/O/8ebWlaGk7Sgg+Vi+/W38yctk/2FPc2mATXwxLCul9t+ud9agwiUbxwE5fhyAplTvJ4mPuHQ3CvNSUu1rez5nRCUM+HVbrGiG51oEHvcdaM+tQhRRpdSvEsI0v2LchMsjm324q+l5fR8disWhX+Fu3smMJAl0FONeqf94G9/Ow+bxez1mSmIDfm1CD0ziu9pA+bg2yfHuRRQzwpS8txzw/EIsyGlkOSdIcYzPNoaeF4V9V8G5XZvSmW7j+PKke0EwfldfSsctP2hOzIiVjlMk0eVUfgdRg+cwQrRf9+LLKGaUZAha89BRdoVeloSaMdj6BMi9xLky9lyn27v4qzFQvm130V329iOl92KVaMsUyAH7L+buWyFDqCtwfRTDcRjklDcUMqkb1MCP2Nyo8YXq+fUN+o5oHyc/9LgKfr16gKh3SSmJ6BVjWEdx2M5F+GyOdlvSq/YLQMTvE2rQber11dvGGpYz0uwSuiSMwM3ZfJSBkAu/bH8TW1hQMlXzMj4VNUyxt7BxfGUhinitWffCBGneuiTnWgIVIvGvBxhThq64Aupg0IZ/64PeAfqEPC/81zBpIcwCGTN3pu4YPR3HcJbXO0//mvznDR2NcwbCOUUPN66FrLQuWeQWHJdSTlv2Tr5lOS8zhbFJ84vXq0JP2FZ+J2ghUAUqeRc0YdSZjxSwHl1RkIHznWCrNYvpWIV3a+VEQ9ZDj//+4CP6yEwpIkjMhANhvyYSGximJCWPAvyNXnboJ1yEYRkqLmZ7pCT8iXpFmOBepegQgAskiKz/cXbBNO/w7HHdO64jrSqhRDmckaX+8R7rQWds89/+1uwF8EVDWFwCkeAwj5jo5Rds8BzWQuxibYGFcQvrGl58I7z4PNeFrg2n5XCxctI+3eJdr/bdCMJM+iK6Y6Xww54p9Y5hpEUXcK/H+cIH9ZMUNX+QDcu8Zu3BiGo3/Fq+7651+kcNF5n0NxKNUmEH/UDXEiDipdarBJ5MRBTbM/ZD3XhgG24YgJ3i1AaXtX4p74dwahrJ6S/luAi7scYCe5Dew69vB3vqa63Jzv82Hyu4y3z7VevmWgmdcNGsoGlhC8mDeeTPGuh62n+M51aEKDVDOyxepXD9cpS5+mZrxehLNHn7r/DsPwIpGP X-Microsoft-Antispam-Message-Info: 1p4nGwbemVZcQQeALIySRMPGJiOGLlK0e4GIMcRc5Jgs9Bm4KzikpYAQMufzPVCal8s92XQ8sRZkkixYb+GQjJDfcGcd3/dnIIMMm7YD9Gvqzvj099XZ/PYOqTuSHdoEu7tsI2PvdneCKgDi89qywg9GSNZpF5M3ckKyqQbvA1Q62Xz2nyWSAMjdSRJ+e3YWMxNMZA4wwpq8yDQyT2YX0vYY2f5cXydOdqyt3dutVPPvqN9MIjH8yAcwdRsPwwplaS/dLo9Id0emZhJjWnrCgjl+Yk8tEsIrmoTPMG+sGYTLgAoIBUZtpRAwrJ7vqdGzsmDezGpxeYENDf7MHvWQ2iFtHl7y9nGbgtkC/wkkXk8= X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB5372; 6:8dUC3CBRTMhcRzsUHINlq1jL6L2icp/ZmzpTddMX0R9zi+3Lak2yoSizaDvvBILN2lcIcZjtHpDOGj7YD1euyfQ1G/ozS/sFK1la/eO3WN5y0d50cGOzQ3R2seZclhPbr2620a+f+Dz67Ke2THUPPRnTn1rofQ/Yd5XGGzYl1XmoGDAheLAnmH1Hc2E5dhPuzKxACI3vYI3ONu71XHdvoO0ezcQFzMClyZpnmyADiu5yMJqiqv0gJI4v2DX16iEVjFfVxFoO/MzlIDGcBgQVrwahiPL8N9bzsnUPVch1InZBeFzSoF7lHHCS3x5Vs0hupBj/pZ/VAGxcprfU2cp+fuaI9uCvkSegAfZ2pH0ZOmVZsDndunA6xCkGXYcLUtyn2b7xcPUU62QKJEDEimuuKwO9eIBaeR8dU8iXwE73BxtFf3pQANgIErxrRX04+4LAskQ4CkbF02EnWBothW9MwQ==; 5:vQ0xzuUqJ4KzPIUWTTQfFEqzxuPy2L3WfzIdmo/mHN+udV+SXNr6PHGi9NWB06uA8RD72wjRKdKBmF0q3uCs9Hi3i0iRVsoIM2zVpOhxaNmeS7AKxgM/yRWywEVeYbW/5ch7W5RUq6+J6jonPHaHAwzBPa0K+bqOod/MvaHKhEk=; 7:aWbMNXvyd4s1RaEqbu+o3bl7RYYDu8jaO6D9IlFT6CrG0l7aKwCCIlAwyKuO0wsjzNniBlPuanaZU0/gWi9hlJgZAm+ip+lBLV7wjhVT3e+jaBjyGgz+SxTXR5WoUA2XUgRKIA8G4R+RlEJojfQ+OvwtjrPrPIeYyqdNvF0Al+B0hl3MMi3haFnLTgYFEa5y/aF+/Gb8ZOOSTulmoWr3V68ryugbHYIay5ih84fhra5X+e2XED6b/PHqOV3zahNG SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Sep 2018 20:31:48.8794 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0b660b2b-83bc-4b7b-b393-08d615ca1a83 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR07MB5372 Subject: [dpdk-dev] [PATCH 05/17] net/qede/base: limit number of non ethernet queues to 64 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" Limit the number of non ethernet queues to 64, allowing a max queues to status block ratio of 2:1 in case of storage target. Theoretically a non-target storage PF can have 128 queues and SBs. This change is to support 64 entries for a target iSCSI/FCoE PF and 128 for a non-target. Signed-off-by: Rasesh Mody --- drivers/net/qede/base/ecore.h | 3 +++ drivers/net/qede/base/ecore_dev.c | 32 ++++++++++++++++++++++++-------- drivers/net/qede/base/ecore_dev_api.h | 3 +++ 3 files changed, 30 insertions(+), 8 deletions(-) diff --git a/drivers/net/qede/base/ecore.h b/drivers/net/qede/base/ecore.h index 5d79fdf..cf66c4c 100644 --- a/drivers/net/qede/base/ecore.h +++ b/drivers/net/qede/base/ecore.h @@ -870,6 +870,9 @@ struct ecore_dev { bool b_is_emul_full; #endif + /* Indicates whether this PF serves a storage target */ + bool b_is_target; + #ifdef CONFIG_ECORE_BINARY_FW /* @DPDK */ void *firmware; u64 fw_len; diff --git a/drivers/net/qede/base/ecore_dev.c b/drivers/net/qede/base/ecore_dev.c index 6302abc..fdb62f2 100644 --- a/drivers/net/qede/base/ecore_dev.c +++ b/drivers/net/qede/base/ecore_dev.c @@ -3027,15 +3027,30 @@ static void ecore_hw_set_feat(struct ecore_hwfn *p_hwfn) FEAT_NUM(p_hwfn, ECORE_VF_L2_QUE)); } - if (ECORE_IS_FCOE_PERSONALITY(p_hwfn)) - feat_num[ECORE_FCOE_CQ] = - OSAL_MIN_T(u32, sb_cnt.cnt, RESC_NUM(p_hwfn, - ECORE_CMDQS_CQS)); + if (ECORE_IS_FCOE_PERSONALITY(p_hwfn) || + ECORE_IS_ISCSI_PERSONALITY(p_hwfn)) { + u32 *p_storage_feat = ECORE_IS_FCOE_PERSONALITY(p_hwfn) ? + &feat_num[ECORE_FCOE_CQ] : + &feat_num[ECORE_ISCSI_CQ]; + u32 limit = sb_cnt.cnt; + + /* The number of queues should not exceed the number of FP SBs. + * In storage target, the queues are divided into pairs of a CQ + * and a CmdQ, and each pair uses a single SB. The limit in + * this case should allow a max ratio of 2:1 instead of 1:1. + */ + if (p_hwfn->p_dev->b_is_target) + limit *= 2; + *p_storage_feat = OSAL_MIN_T(u32, limit, + RESC_NUM(p_hwfn, ECORE_CMDQS_CQS)); - if (ECORE_IS_ISCSI_PERSONALITY(p_hwfn)) - feat_num[ECORE_ISCSI_CQ] = - OSAL_MIN_T(u32, sb_cnt.cnt, RESC_NUM(p_hwfn, - ECORE_CMDQS_CQS)); + /* @DPDK */ + /* The size of "cq_cmdq_sb_num_arr" in the fcoe/iscsi init + * ramrod is limited to "NUM_OF_GLOBAL_QUEUES / 2". + */ + *p_storage_feat = OSAL_MIN_T(u32, *p_storage_feat, + (NUM_OF_GLOBAL_QUEUES / 2)); + } DP_VERBOSE(p_hwfn, ECORE_MSG_PROBE, "#PF_L2_QUEUE=%d VF_L2_QUEUES=%d #ROCE_CNQ=%d #FCOE_CQ=%d #ISCSI_CQ=%d #SB=%d\n", @@ -4327,6 +4342,7 @@ enum _ecore_status_t ecore_hw_prepare(struct ecore_dev *p_dev, p_dev->chk_reg_fifo = p_params->chk_reg_fifo; p_dev->allow_mdump = p_params->allow_mdump; p_hwfn->b_en_pacing = p_params->b_en_pacing; + p_dev->b_is_target = p_params->b_is_target; if (p_params->b_relaxed_probe) p_params->p_relaxed_res = ECORE_HW_PREPARE_SUCCESS; diff --git a/drivers/net/qede/base/ecore_dev_api.h b/drivers/net/qede/base/ecore_dev_api.h index 02bacc2..7cba54c 100644 --- a/drivers/net/qede/base/ecore_dev_api.h +++ b/drivers/net/qede/base/ecore_dev_api.h @@ -271,6 +271,9 @@ struct ecore_hw_prepare_params { /* Enable/disable request by ecore client for pacing */ bool b_en_pacing; + + /* Indicates whether this PF serves a storage target */ + bool b_is_target; }; /**