Message ID | 1515082323-179525-1-git-send-email-motih@mellanox.com (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | Ferruh Yigit |
Headers |
Return-Path: <dev-bounces@dpdk.org> 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 54A4D8E01; Thu, 4 Jan 2018 17:12:21 +0100 (CET) Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on0064.outbound.protection.outlook.com [104.47.1.64]) by dpdk.org (Postfix) with ESMTP id BCED07D30 for <dev@dpdk.org>; Thu, 4 Jan 2018 17:12:19 +0100 (CET) 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=qXt/pf05bSYxpOjOK268QPwGMsNgbONoWp0YWy/sAxY=; b=xCh4AjpjvRqBjH8RYtWVbyyUFB3nXln9dpTsbL/2mqxIJT7Yc52TjzRdCW4j8JLAxr+Boifo9WvAm1tv57V+9Rz3BH+JrhrdpZFtHjWfXT9/+zGS89PJ7uopkgURL1N45QX9PgJOm2G5HMIwejFdhtHM2750FXuQvDH7TN3vzJM= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=motih@mellanox.com; Received: from mellanox.com (37.142.13.130) by HE1PR05MB3210.eurprd05.prod.outlook.com (2603:10a6:7:36::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.366.8; Thu, 4 Jan 2018 16:12:16 +0000 From: Moti Haimovsky <motih@mellanox.com> To: adrien.mazarguil@6wind.com Cc: dev@dpdk.org, Moti Haimovsky <motih@mellanox.com> Date: Thu, 4 Jan 2018 18:12:03 +0200 Message-Id: <1515082323-179525-1-git-send-email-motih@mellanox.com> X-Mailer: git-send-email 1.8.3.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [37.142.13.130] X-ClientProxiedBy: HE1PR0402CA0052.eurprd04.prod.outlook.com (2603:10a6:7:7c::41) To HE1PR05MB3210.eurprd05.prod.outlook.com (2603:10a6:7:36::32) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 5cc36990-9b5a-4c01-c417-08d5538ded06 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(48565401081)(5600026)(4604075)(2017052603307)(7153060); SRVR:HE1PR05MB3210; X-Microsoft-Exchange-Diagnostics: 1; HE1PR05MB3210; 3:yt6yGS+X1AHHmNNT0/KA8OnvyzsBZ4JbKMbk3RXNQUFovKVkGYv6AfIPMAWfg1XpUATfXhzsmUbB8lZ6P6zURIpBKZWlDFXsMXv2mVk4/+dOJpxnj28yV1zhrA9Y/B8vz8NwCpRz3wsM0ukSJU16VvFmLLsll52BVZClYOHxiTZXECEQywdNPNwvpDoE9//P1quB9o9dus2BhIE0zJuCOoIBvmOS4Nae8DWhcXyQ8gMi/3kNvyRkU0qVLFLClBAl; 25:TNG+72fknqiPFpCRYL1uac9WCpw3+sKnJSgiWGUTxvV1yLpY4X1yBKhYS4thD8PqJnnyechqQwWLDMC0vjAqyCR2omWYkyodilCzgvy0lM08Z1sGK3H3PgFVU+516v/6JX3skFrxZKaAnkRweyPfFSEubk2M5rk6krcTFTLzprB/55opwB7LeXQQfxYoD9TWdrrc4WAdkWF4RU1wnMcolLDox/UCs8vc85UJ03pLcrPy2KFNYrZrZs2sOBUyI+0Vfy0Me3kHfdqHXxgPtudkRKb/nuK6LJneqkqGS2zZESxqKWuJ/82+RatHDutqEzTJMzztp9MxmEJxHYRfYgzb8w==; 31:KgBsJuuYdl+Y6XgfjQ2GKZjXuUnGkaJnFnHHopRFIteyt+9rKioUNQL/bFfAheVzG6XupuRposFEXhx6CmQUnKRPYEqvvqAH1vBtUINSzfXTvd3aVcPA64NQTiGAR72K7+My4z/1Jd6SYN2DmeI1b97MYxIeQBhs8ZSVpMAH3b0xteoL9zxnBaZcRzCCK6fq/qgdMnFQ6KB3viLc62dxyCNyaBsq0YCG5zIldQ6rrW8= X-MS-TrafficTypeDiagnostic: HE1PR05MB3210: X-LD-Processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr X-Microsoft-Exchange-Diagnostics: 1; HE1PR05MB3210; 20:GhHI7g++fmkMSlt6Nim4OKFcFrmZQG0bBPYXNPFtehIGcIZvWYg+uOoA9nvrMMntCmhviTuGl9dT7ve1jG8a7Mq75FAJiKvFDR2QU1wg5kvq+p5XllFHEK0boOPX1ZEhHOcZVJcbPLrP4gWk8yP9TytarDDDSSFWQ34RoHeaa7zNySU+bl1gPLwKgKcAMYzOg1dqMOxFiP2g5iNzr9KduEd9//6DbCh4QnUDVf5UX9IjU2WYzkDLjbKFQy2LBQ+YP5LQk95frXiyjv1Q6flotI5IB/+b98DaNF8fIMyGxOaXvwUtNThOQKtA+MV85Qe1uhshfrXuURe1N7pBnsTXEtYNory1avdqpJmYkrGkoJ7wk2hIZ7qACGLLG0A4gNjlQsec4FxzqD96rTTN8SwxTVoSXg2nGlBoAh8P/thMM3sdEEBa4+hLJLrxf7+8d5+YZFiSxCx0i0IduaG4anVX6dzv5oYz/lpPUb7nYdNPRcrSZF2AfoIS2vPq8500gH1x; 4:XwiQnIEODXvDEwdvYwjkm41ClDi8HkUX+GppFARm78wCInxkfdDdgpmJ4pAQxyAoOJJ5QBi0w5sSi3xn09kNzw1sigpki87W5prMSSaaMJOhbKQlolcyCMt4SmvM7ri10HpGULS7f7478SsKviC+TN8QS3ANPVF6jM6EHX1wm1xIzJ/lIDNeC4jxv0Vy0+FrsnMlr332toT4SD89xZ7ZP0E+cXbxPqW3YSPWukwRjXiwYlq/YoE0nAjNoW6IT2CEsumbKxhe2POyGvLEveqbbw== X-Microsoft-Antispam-PRVS: <HE1PR05MB3210044141549791C3C4FF6DD21F0@HE1PR05MB3210.eurprd05.prod.outlook.com> X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(5005006)(8121501046)(3002001)(3231023)(944501075)(93006095)(93001095)(10201501046)(6055026)(6041268)(20161123560045)(20161123558120)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:HE1PR05MB3210; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:HE1PR05MB3210; X-Forefront-PRVS: 054231DC40 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(366004)(396003)(39380400002)(376002)(39860400002)(346002)(189003)(199004)(107886003)(7696005)(36756003)(51416003)(48376002)(3846002)(15650500001)(6116002)(59450400001)(386003)(21086003)(52116002)(5660300001)(97736004)(68736007)(53936002)(69596002)(55016002)(50466002)(478600001)(7736002)(4326008)(16526018)(6916009)(316002)(47776003)(8936002)(2906002)(2361001)(105586002)(16586007)(106356001)(2351001)(305945005)(86362001)(81156014)(66066001)(33026002)(6666003)(4720700003)(8676002)(50226002)(81166006)(25786009); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR05MB3210; H:mellanox.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HE1PR05MB3210; 23:D4LhpxQjj4m/Fknj+5B4uLBhg+4qqAbCiBElgIsxK?= IAOJ8WyLx9r4EQqNkq2RJiXw6/CeV9P5yvrbgNVTOf8tGcDPn7pWyC2K9wZawX0vVTPO078v1VS/VsueFW01kJDXnVSFYnhuEfVPDiXlHFJW0jHGZ9nt0od/5ju1OT6aW9foPHwNUrhGv7ixfqS9AtAyZlSeWJ6jNMu062KvDOa7UQ1y6f0SH51OAIPKhZYYoo3ttQGmGF+P3/CmINhlxRQlxDCEoXwPe1SoZe878Q6dQayyP2R3EdOHbeZXAG3IVv2VG/PP0C4WiN36C6o7zpFCHa30ns4KcRfzvwQ7n/RefJgEKqckIV5iXN6kylf690gQuHaUJ4gH0qRCSh0AngoggjwFlWtk9QJ3w0J43KakhTpskgqz4OaR6VUGZS5WKLcNkXlvKqvqA1JBlihsdEQ1yFQHxsqHC80Idn95vk6WI6g8IEvUP8YG3H/l77vsSnFBWgjhJRJLNUoT7zWq9hURLmf1BWvGAlC3HlrwGE1TSbW6Zfq80BNgMiZicmkuUBoXBnPIvUTZpJ8mIGjjaWYPfABoG4q0YbGhQ/6tn3gYu//ny5bRf0FHniOsbQdz5umxg8ZapyLp5HfnyZL1Uy/jkeO0SmMP7caX+jBWYaMJfXexM+ahX/bjr0D7orRk/cIvoEvlxLY0o3LB84yID5SCDF8BOgf2ipCKw4MBCzHppKN9wzIqu3qN0vOumguTNkyY+I42+nUQIuJPNYqCFGtCikG781N6e82PaQhPjPd/IKpUYbdW2DXM5fOUnUv7N0wmsCqZ1Grh3CGFtdctTIyyfIDi+8mvlJE2BWeG2E5hQR6NptjLsotO+2zf6m6BZBElRXw2tyq+2A0XfSO23noSbFu6d+b6HfpkxUpUHpSLxnqseNLwA3DVE1nmQW84J4iCPjsQRc4eeA3x7VCMQDEmR7hCHFB/7o+Yof5GwgopGbVAsWrV7GO6sddZuE/d3fzRJQWCVEpFZUlVIFrMVdp3m4oj1bsrwDGOybMyF0YtQBZdFB3vQ2O1wUNX++8SVNbysvONUQuDviEjYFIbtRNIgLN6nKRlOjG6CQCrYY5pRzt1m23LDzryIyT0vZI7SbbfAQUYHKv2PKdFEL1IC4pTp8l51YVTKsCle/0VPxN6gEr8OdrjhV6mr6YaOF7zIkBj91C05DhE72Q2hL3c0+j X-Microsoft-Exchange-Diagnostics: 1; HE1PR05MB3210; 6:7WPcRAMxmSTKBqzi7JPnCRG83bNkCcvIR62o1eOZ1fz9wxHzs+15seSnKOFoM1HrbzQk+BD6MN323fUgZKGjzwG/awXDwxKmWKtCzTQydTYqm4zfCI8V+RypXe437O+cB7MAVP4U9g6y3MDo+In5f03W0hnnVT+LTsNNOu0TMzQu7p1OjXiPY3Qo49Nw8kyvOB3BUuySRgrfv1ckzR35D20wdNTFkBG2eoNUNoNIsZGEjU8nEtKlJID6h4rRHbt5mXkMCyCUrKcDaTgpV88sjgFlICPt1cvUTHVR2YAhg03MQkhSR2fL93cxyEKMbQRmr1XPEjT5DV9Xr+0KFtoetmbhkvvZPNvWIyvhksKHZ7s=; 5:zpnEKP9+IXLr4Q0FPPP7XObUrWPZZQxP+qe+Mp9rB2RG+eWkFVUQVwzd0GE3Bf6L9anjNV35W3kSP6XWXBW61fcU8DHG1F9vTMdHXZSvleN/yEMljFTLrN7cyM5DV23SzyyEdUEK+uocEq+7N+iRUJLlOe8FCCc3RayQDPEQ8OI=; 24:WxHde6SBtXQyiBhukEJSdeERQIyin/tydbVoJ1Y8iAxvpC/8PBDD6/zjC2Cw9rFLU/3CzgbTc07nHP24fMYW3wLavZu/oiI3+T53eH0Wg14=; 7:AlR0wOJQ3W0hOyElwjZWcbb5RPHZMIME5JXWAmPldqX5dOd7HLeEcP+1gyibW5p/i1sr6YTf6MpCJRZTTFZKUW2C2C7WX7yE+R9pddZ+Jz81sBSL1arRdl4KTsozGWHDxibgwZwm438k1HoJf2tsKih5xVbLViAGtH+A5n5syMMSy00taWjIeRd/NgP0/4xWyqMCzGtt/H1BjT038r0K37bkTpHJyDzVf72HVOnTEe1V8RpWHRn0ZZwoBpZ4O6ty SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2018 16:12:16.9618 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5cc36990-9b5a-4c01-c417-08d5538ded06 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR05MB3210 Subject: [dpdk-dev] [PATCH] net/mlx4: verify Tx max sges X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://dpdk.org/ml/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://dpdk.org/ml/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://dpdk.org/ml/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Checks
Context | Check | Description |
---|---|---|
ci/checkpatch | success | coding style OK |
ci/Intel-compilation | success | Compilation OK |
Commit Message
Moti Haimovsky
Jan. 4, 2018, 4:12 p.m. UTC
Max number of Tx scatter-gather entries is a property of the device
and is queried at init. This value was not changed in a while and
most probably will not be changed in the future, Therefore and
in order to enhance Tx performance, the Tx max-sge value is hardcoded
in mlx4 PRM code.
This patch adds a verification that the above assumption still holds
and that the hardcoded value is still supported by the mlx4 hardware.
Signed-off-by: Moti Haimovsky <motih@mellanox.com>
---
drivers/net/mlx4/mlx4.c | 1 +
drivers/net/mlx4/mlx4_prm.h | 5 ++++-
2 files changed, 5 insertions(+), 1 deletion(-)
Comments
On Thu, Jan 04, 2018 at 06:12:03PM +0200, Moti Haimovsky wrote: > Max number of Tx scatter-gather entries is a property of the device > and is queried at init. This value was not changed in a while and > most probably will not be changed in the future, Therefore and > in order to enhance Tx performance, the Tx max-sge value is hardcoded > in mlx4 PRM code. > This patch adds a verification that the above assumption still holds > and that the hardcoded value is still supported by the mlx4 hardware. > > Signed-off-by: Moti Haimovsky <motih@mellanox.com> Except for a really minor nit below: Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> > --- > drivers/net/mlx4/mlx4.c | 1 + > drivers/net/mlx4/mlx4_prm.h | 5 ++++- > 2 files changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c > index 4bc4a6f..61c5bf4 100644 > --- a/drivers/net/mlx4/mlx4.c > +++ b/drivers/net/mlx4/mlx4.c > @@ -505,6 +505,7 @@ struct mlx4_conf { > rte_errno = ENODEV; > goto error; > } > + assert(device_attr.max_sge >= MLX4_MAX_SGE); > for (i = 0; i < device_attr.phys_port_cnt; i++) { > uint32_t port = i + 1; /* ports are indexed from one */ > struct ibv_context *ctx = NULL; > diff --git a/drivers/net/mlx4/mlx4_prm.h b/drivers/net/mlx4/mlx4_prm.h > index 217ea50..b382d59 100644 > --- a/drivers/net/mlx4/mlx4_prm.h > +++ b/drivers/net/mlx4/mlx4_prm.h > @@ -53,7 +53,10 @@ > #define MLX4_TXBB_SIZE (1 << MLX4_TXBB_SHIFT) > > /* Typical TSO descriptor with 16 gather entries is 352 bytes. */ > -#define MLX4_MAX_WQE_SIZE 512 > +#define MLX4_MAX_SGE 32 > +#define MLX4_MAX_WQE_SIZE \ > + (MLX4_MAX_SGE * sizeof(struct mlx4_wqe_data_seg) + \ > + sizeof(struct mlx4_wqe_ctrl_seg)) One extra indent space is needed before sizeof to align with parenthesis contents.
Friday, January 5, 2018 6:53 PM, Adrien Mazarguil: > > Signed-off-by: Moti Haimovsky <motih@mellanox.com> > > Except for a really minor nit below: > > Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Applied to next-net-mlx with the suggested fix. Thanks > > > --- > > drivers/net/mlx4/mlx4.c | 1 + > > drivers/net/mlx4/mlx4_prm.h | 5 ++++- > > 2 files changed, 5 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c index > > 4bc4a6f..61c5bf4 100644 > > --- a/drivers/net/mlx4/mlx4.c > > +++ b/drivers/net/mlx4/mlx4.c > > @@ -505,6 +505,7 @@ struct mlx4_conf { > > rte_errno = ENODEV; > > goto error; > > } > > + assert(device_attr.max_sge >= MLX4_MAX_SGE); > > for (i = 0; i < device_attr.phys_port_cnt; i++) { > > uint32_t port = i + 1; /* ports are indexed from one */ > > struct ibv_context *ctx = NULL; > > diff --git a/drivers/net/mlx4/mlx4_prm.h b/drivers/net/mlx4/mlx4_prm.h > > index 217ea50..b382d59 100644 > > --- a/drivers/net/mlx4/mlx4_prm.h > > +++ b/drivers/net/mlx4/mlx4_prm.h > > @@ -53,7 +53,10 @@ > > #define MLX4_TXBB_SIZE (1 << MLX4_TXBB_SHIFT) > > > > /* Typical TSO descriptor with 16 gather entries is 352 bytes. */ > > -#define MLX4_MAX_WQE_SIZE 512 > > +#define MLX4_MAX_SGE 32 > > +#define MLX4_MAX_WQE_SIZE \ > > + (MLX4_MAX_SGE * sizeof(struct mlx4_wqe_data_seg) + \ > > + sizeof(struct mlx4_wqe_ctrl_seg)) > > One extra indent space is needed before sizeof to align with parenthesis > contents. > > -- > Adrien Mazarguil > 6WIND
diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c index 4bc4a6f..61c5bf4 100644 --- a/drivers/net/mlx4/mlx4.c +++ b/drivers/net/mlx4/mlx4.c @@ -505,6 +505,7 @@ struct mlx4_conf { rte_errno = ENODEV; goto error; } + assert(device_attr.max_sge >= MLX4_MAX_SGE); for (i = 0; i < device_attr.phys_port_cnt; i++) { uint32_t port = i + 1; /* ports are indexed from one */ struct ibv_context *ctx = NULL; diff --git a/drivers/net/mlx4/mlx4_prm.h b/drivers/net/mlx4/mlx4_prm.h index 217ea50..b382d59 100644 --- a/drivers/net/mlx4/mlx4_prm.h +++ b/drivers/net/mlx4/mlx4_prm.h @@ -53,7 +53,10 @@ #define MLX4_TXBB_SIZE (1 << MLX4_TXBB_SHIFT) /* Typical TSO descriptor with 16 gather entries is 352 bytes. */ -#define MLX4_MAX_WQE_SIZE 512 +#define MLX4_MAX_SGE 32 +#define MLX4_MAX_WQE_SIZE \ + (MLX4_MAX_SGE * sizeof(struct mlx4_wqe_data_seg) + \ + sizeof(struct mlx4_wqe_ctrl_seg)) #define MLX4_SEG_SHIFT 4 /* Send queue stamping/invalidating information. */