From patchwork Sun Apr 29 18:03:08 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shahaf Shuler X-Patchwork-Id: 39162 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 C74BDE07; Sun, 29 Apr 2018 20:03:57 +0200 (CEST) Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20057.outbound.protection.outlook.com [40.107.2.57]) by dpdk.org (Postfix) with ESMTP id CCA82A51 for ; Sun, 29 Apr 2018 20:03:55 +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; bh=egW5vPXu2lHbOUBp364kds1sBhVFIYXvULaDQ4l6O4Q=; b=laczMT3t/ztU1wHf1dHFXA/Tr4EMOuxzqOGLkzKj12FnOqNP2sf4Ebnb2Tg0d4J7Cm07/Jwbx1Zaem5iEoCdOhD0ABBdf/x0peN4zZEZ1MBYOkGJP7kPK6Nw5q6gEobty7q2Ap0AP5wGVeRdmYEYOEE5514QTCmhY01b19Bjt9c= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=shahafs@mellanox.com; Received: from mellanox.com (141.226.120.58) by DB7PR05MB4426.eurprd05.prod.outlook.com (2603:10a6:5:1b::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.715.20; Sun, 29 Apr 2018 18:03:52 +0000 From: Shahaf Shuler To: nelio.laranjeiro@6wind.com, adrien.mazarguil@6wind.com, yskoh@mellanox.com Cc: dev@dpdk.org, erezsc@mellanox.com, amira@mellanox.com, olgas@mellanox.com Date: Sun, 29 Apr 2018 21:03:08 +0300 Message-Id: <20180429180308.85361-2-shahafs@mellanox.com> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20180429180308.85361-1-shahafs@mellanox.com> References: <20180429180308.85361-1-shahafs@mellanox.com> MIME-Version: 1.0 X-Originating-IP: [141.226.120.58] X-ClientProxiedBy: HE1PR07CA0018.eurprd07.prod.outlook.com (2603:10a6:7:67::28) To DB7PR05MB4426.eurprd05.prod.outlook.com (2603:10a6:5:1b::15) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(48565401081)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:DB7PR05MB4426; X-Microsoft-Exchange-Diagnostics: 1; DB7PR05MB4426; 3:UfIwvl15do6RR5qT1pe3pQoYex7Tnrfaz+M53T8Alc2xNN+Hc8yH3uKYy1vr055MIvpXrv87n1luWvAHR7RKj3iXotbt2Tl0dhna8dbCGHhyUa101SDE48shXG1TollqRh1l3qYwZ0kHWBz9J1UlwdAYqJhLOisDj95E1gJVUGu6+Z0KOGB8QHy+Ds/5RzWr0O8sl3QTgiaT2MQh/cDFRUiLr7KNIhJYaAKOGX4dHNUwEK/wWGZtp1d7j9gr2aFR; 25:Dshw4UAaxNp8vFl6L5gvcR8f3kyYe8uEVa0P/igIb1xbmSkkId03/h8mOfTub1eXbfx/vAdODUT24UBkZ9On1zsFm4kkaNmpT1y3EruJ60MbiIe5w13wYSBVjNCvh+eCzw2WZrGTHUb9NsGaSVGcdGH14E/ao3PXAGHvjEj1w9WXpyIS3mWsxOStrSoHtp3C2YBBnHwLkWGU5mUEEys48+x4lhUr2Rxp5GkPaAJ9tKrqXpZv7S21djGTNikqNf4Cu9aPVF0wx4QNNnGj8DznkkAV9CLDCM3N+WnpwAeJxf4G3Q6lfADg3lPRBdoIZGrZNOHQmaeNY7fgLjLpmN4hCg==; 31:bPEfD/lOHF/W51C/cQ7ONdyEHZP0B8mNtPaVDTaPEHF/xt9HGTnKCfZUaKmsB0A4qWHGiW36X089XfO2VWEu6ASuP1HEb4LCjHeF1gABoq99eQBPCX9k1Sv/jgg3tReWLCTszyryCpc2xcGXysMvsXS5E76nIr638poPYyTKPzb5Pdo672hM+Xi+tz0R/rj2mbs2KCPb3+AMyTjsFZnkc3BCjVY+MQsQa+7/Iiz6pJE= X-MS-TrafficTypeDiagnostic: DB7PR05MB4426: X-LD-Processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr X-Microsoft-Exchange-Diagnostics: 1; DB7PR05MB4426; 20:PSXZSJ5HstAJ/sOgrHwLrVE07aly57vRtULPurns8L1NFIzPjT1xzWi6E8Svb0yzGMmUz1GizARPWDZu1A2TqvMzW3BIhmaZuSSY3WSzG2hAAySLA4RsgO6BweOSNsQMZTVyTKbnGl7v2Yhdm/LM+IlAVW6ddscujDCfW5zwpR2JGepymTxVLtRSnHULKQA+abZuqLNc+AXeFNDZ9l7FfNh+bSs7/IdgnQT21kw0ImpaG3+aGyGv/Uc1FYvSgRQgJgtUFUqZ6mFxwmcMNVY4V121o0BlpsnQ2sgxe+L2++yhL1nrIHWFOQT0m1CfDkn4tl9RCiPscO0l/q/DHuG6sE9IaGk7yXecjdjhpKiZTeyffdzSonnDs4fAbKuf/n4fmzudLuUoleZV/KUuiygXvf4uJExGQRF47ttaarxqBXZBlNb3d+3IAWwRrcKlEekhuiMpfSn09SsEKa4dXqclbY1b/DK4Jj9FZZK1ZzVIcFgWWxzcXIyOmqPgN4ljGh4R; 4:YPjKJRw4ot6Fl6pfDMz3hmBiixcwHoN8FC8shqaujVpeKGdXJ4kQE5OM0MgOdU9nVUGsrR4jM3gVexYZ54VT5uWd8um8mtS3MUFpEYoa3U3NyGs+YwYtRxOyGN+0D9vUS3lXG9yWiFp+VBqw660X7gDe40SxdEG9IK7nPjohQu3QhnT9K2xszuy9TD/go993T7e26TMpNRDXHdPZhhiO/3a2pwm/qw4RLnf1wb5XpJuvAAjviYQVzer2+yzf4ZbDtlWSK/WP9YVvViY8nwK4Ww== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(93006095)(93001095)(3231254)(944501410)(52105095)(10201501046)(3002001)(6055026)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123564045)(20161123558120)(6072148)(201708071742011); SRVR:DB7PR05MB4426; BCL:0; PCL:0; RULEID:; SRVR:DB7PR05MB4426; X-Forefront-PRVS: 0657D528EC X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(376002)(346002)(366004)(396003)(39380400002)(39860400002)(199004)(189003)(66066001)(51416003)(69596002)(52116002)(8936002)(81156014)(81166006)(7696005)(21086003)(59450400001)(76176011)(86362001)(55016002)(16586007)(50466002)(16526019)(305945005)(8676002)(386003)(53936002)(48376002)(186003)(68736007)(26005)(50226002)(106356001)(47776003)(36756003)(105586002)(316002)(6636002)(6666003)(5660300001)(2906002)(97736004)(1076002)(6116002)(3846002)(7736002)(107886003)(478600001)(11346002)(446003)(4326008)(25786009)(486006)(476003)(2616005)(956004); DIR:OUT; SFP:1101; SCL:1; SRVR:DB7PR05MB4426; 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; DB7PR05MB4426; 23:uCNvqmLU5PjJuYf/vIHXe0DHphXvrUq67lo8MqRY0?= n2SaxsMhLc68vADTa734hMe8H68FUtYqKLaIM6zour0RbUNoSieUcI2rh3XiCrtXI3OjMj0WiMhQbjTv3+x6209xpfYNDL3g3+Ykyw8S9VO6M7/GPSs0wJ9ldyHdvXnPLQysnRDl+qdjLSwjxoGBZerEmtCdl29UIpMc3FwpYNg2ezuVzYy6sfnqanXQs83/mZ6vpvWYAwxsnGf7+WVTvvt0nwuaR4VGZ0y1u1H6OsOfEiLVZ3EkqUNjyOZtoCDbQN01vOzThFFBYaUeSnkCQKD21Q0ghuwqsCzm3lyLRMw5U2SOTPitKzmZ1iNFWyX9XLFsUMJ7Z5X2YkQ7W1x9obJMsbq1E5omI2Je6sPhbzFyHUZceTltcr3igWZ2rUR0ekW9yTl+Vdt06Mx4g68q+A8dic+rjaTHRFkzvIed4W3BkTv7vWiZgy9vWXzGQRTAB6+atflD+flF2IZHXrGArMyh5sDi/KYkI5r+OQMb3uNxbmgm5vBr/gz7wt7o0lW0/1Vb52Qbs4kCXulQaa+4pKsql8E6gcE0ZU9Y32uw4/clDMOXcsXF2AnCCzj5Lr4Vlq/44LiZtTcubET7yMXQo3GdyRPoSOHARRCdT2AdOlcOTs/q5S7knDkjZyaRnaGxodTft0T9mpW9VNeMGtwxBoSPgvc1wW/oZXkBAi0bTnzpIrysqqjW4WIcJEBHUjd9rF1IhAV+EMGGZqd/3MV6BtIhiapavU/8vzBKWa9L7YNCVpJx/54M8dRROrFSs2Jvj4cdVDAavwuqALgXS2tY8Uc3XD2elvpigXODLWDRctVKqg8k+4EusCgIJmeiLkJIv7YVkEMgQ5C44FvYgRwsi2uyd9RZQMs+NzBIr2ne7mrVbnIA8eWS2ZhuSa1BamJvNS9Hvq5tOkdkQmvphntxjPztA/dshetywX51TEFlTnqzrqtD7DLaDkaEYr90ZoFxrLdacKkk2emU9zXwym9Pv13DrvbxNgFbFV1D8NprpRIbnDgDlIQzmc/9rvou6Xf2kX6yA6KKiYa9pCwkrB2B+TiBzC9hbmWavu8a7G7zxjrzwLAvEa2JRHP2bX3qDoOCGoeXRaHZ4ZPeMs2kFTGw3wU/Vrxpx8hT+lEZ+OFGRfrl4UvrMGZn6G5O44DHTaaVWCAmtMKf2fAMWUsrGr8dNNFTD09RrpoNptSZE1BW3UNuzC+BZtS3h1RmTBfGVQb+1lfCvzk++EXxF1056iIldss X-Microsoft-Antispam-Message-Info: kstOQ0XcXoFpVeYlhyRjxk50lnI3lILSS1eccqKRORumA3VouYeD7z/OKSCsaLuNkVDj5mh5uUBHdZVQqOqPbMWgLg2u8gPYrptGO0DFWEDhirN375PccHooXR4WZrROdt6H1OUC7lL3mMnNSSkbXhZfCiUhxDYohIH1A3Mltm3mXwqGbbVaWas5BpuOf9w9 X-Microsoft-Exchange-Diagnostics: 1; DB7PR05MB4426; 6:MIfPWjEm9TWfCICnGugpxUa/H5p1tgaDBVWlM1RQIIJK8fHdcWCl34tB/U8jWTydfPVHDrKvGn5zU2nnPGNAc9AMgkzVspWdfHpoZODPeqsxbkAYcXqqSgnZ+/UxewjSbomxuW4g0aE4Jzxvxvx732wGVpjMv/0QytTyyqbfyVAHGThzKO/rnmJXkYZL66/CY+xRkTH0xQ+r6rBKHCrW6bgIPuSRFIfOfRut6+4mSAH1oA1A+TzVAzoe+kSrtuq1LUjw07UP406AWEI42I/pyU6vhUxb6Gpgk9mnrUjpbZIt11RS5NDIrDnMLK5dNYp92Fc+vQlHQ8sFlfqI54GlYRDnUZwb3FI5NQl4yXaYAWb6Ks+tmmXpmHwIa6TW7WJLK+dQLKj19KL2QyF1FEzDqIDCufUGxzCOZ/ZW/V0QtB+YN0ZDmNztrebmiWg+H/6iYiHZAZAOB+FmHqopg6biBA==; 5:F6b6Xyf2izVjn22CCt8EvtWXfp8hwVDN8Ts1vF2/14C2BlOJsayMddCZV87OtMF2FbjVCQTHs3joiJsRVs/RQTMA1bT0L+M/56D17Heh+2ghsEBywPO0mi2vHHz7mOfPuhUPnSIBA61ciojtS2F2kIn72gTrHbXWSn6MCBCXdqk=; 24:AGGMCDJ98d6LkgzXP+QRguw3M9c/lVSOYgPyRWSgRdy95TyjWPfijQM4JWE08OA+Ot96za2P1Go81EpLWs38ty/RRLN6yAqPlfumuXSD7QY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB7PR05MB4426; 7:5faPxXjdj7Y5SgmNNU63MiboQz4O4lIZagRJupLZSjTXRYWBIMM70P9XyOhxQZ2PcG9oyjRi5EOuyXoOS919cao17VZnLUmUVl2ztT7edUO3V/ANcN7ltnGMXnn9MzemeYvqY3QyFydCZ88oIEU+VOUUb8mp+Qs7vYgb5NNMoZ+oe0EQ9sLWbrKMCzehelhI7sHKPFHY90helEjDuv9H3dovlULIJuRE2Ozo81CpE3MVQ+YJdUQZfXb7HQuJjUVI X-MS-Office365-Filtering-Correlation-Id: 8f160a4e-b2d3-4f81-338e-08d5adfb922b X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Apr 2018 18:03:52.7713 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8f160a4e-b2d3-4f81-338e-08d5adfb922b X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR05MB4426 Subject: [dpdk-dev] [PATCH 2/2] net/mlx5: add Rx and Tx tuning parameters 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" A new ethdev API was exposed by commit 3be82f5cc5e3 ("ethdev: support PMD-tuned Tx/Rx parameters") Enabling the PMD to provide default parameters in case no strict request from application in order to improve the out of the box experience. While the current API lacks the means for the PMD to provide the best possible value, providing the best default the PMD can guess. The values are based on Mellanox performance report and depends on the underlying NIC capabilities. Cc: erezsc@mellanox.com Cc: amira@mellanox.com Cc: olgas@mellanox.com Signed-off-by: Shahaf Shuler --- drivers/net/mlx5/mlx5_ethdev.c | 51 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c index 588d4ba627..78354922b0 100644 --- a/drivers/net/mlx5/mlx5_ethdev.c +++ b/drivers/net/mlx5/mlx5_ethdev.c @@ -417,6 +417,56 @@ mlx5_dev_configure(struct rte_eth_dev *dev) } /** + * Sets default tuning parameters. + * + * @param dev + * Pointer to Ethernet device. + * @param[out] info + * Info structure output buffer. + */ +static void +mlx5_set_default_params(struct rte_eth_dev *dev, struct rte_eth_dev_info *info) +{ + struct priv *priv = dev->data->dev_private; + + if (priv->link_speed_capa & ETH_LINK_SPEED_100G) { + if (dev->data->nb_rx_queues <= 2 && + dev->data->nb_tx_queues <= 2) { + /* Minimum CPU utilization. */ + info->default_rxportconf.ring_size = 256; + info->default_txportconf.ring_size = 256; + /* Don't care as queue num is set. */ + info->default_rxportconf.nb_queues = 0; + info->default_txportconf.nb_queues = 0; + } else { + /* Max Throughput. */ + info->default_rxportconf.ring_size = 2048; + info->default_txportconf.ring_size = 2048; + info->default_rxportconf.nb_queues = 16; + info->default_txportconf.nb_queues = 16; + } + } else { + if (dev->data->nb_rx_queues <= 2 && + dev->data->nb_tx_queues <= 2) { + /* Minimum CPU utilization. */ + info->default_rxportconf.ring_size = 256; + info->default_txportconf.ring_size = 256; + /* Don't care as queue num is set. */ + info->default_rxportconf.nb_queues = 0; + info->default_txportconf.nb_queues = 0; + } else { + /* Max Throughput. */ + info->default_rxportconf.ring_size = 4096; + info->default_txportconf.ring_size = 4096; + info->default_rxportconf.nb_queues = 8; + info->default_txportconf.nb_queues = 8; + } + } + info->default_rxportconf.burst_size = 64; + info->default_txportconf.burst_size = 64; +} + +/** * DPDK callback to get information about the device. * * @param dev @@ -458,6 +508,7 @@ mlx5_dev_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *info) info->hash_key_size = rss_hash_default_key_len; info->speed_capa = priv->link_speed_capa; info->flow_type_rss_offloads = ~MLX5_RSS_HF_MASK; + mlx5_set_default_params(dev, info); } /**