From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on0057.outbound.protection.outlook.com [104.47.1.57]) by dpdk.org (Postfix) with ESMTP id A899F1B1A8 for ; Wed, 9 May 2018 13:14:08 +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=Cl+VwYJpkyMhNu6uYAvUCBDnxdnhcjljPdSHn649UUM=; b=FwOYSXoqfyaV2GLO/DmzyMpuJMaIMt+xJlxiE9uxjgJ+yKBpJ4jUj1Z9lwcS7HQszCiWFl1U24AIcDOS/ci582p66ng7T/6UFG8Cl4Sryq2f8c39MpZk0FbS8jXJ55ofQxhQBy9bqGBKop7Wc6c2u7j946jg5xkfFbBIvDIfR+U= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=yskoh@mellanox.com; Received: from mellanox.com (209.116.155.178) by HE1PR0501MB2043.eurprd05.prod.outlook.com (2603:10a6:3:35::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.735.18; Wed, 9 May 2018 11:14:05 +0000 From: Yongseok Koh To: adrien.mazarguil@6wind.com, nelio.laranjeiro@6wind.com Cc: dev@dpdk.org, Yongseok Koh Date: Wed, 9 May 2018 04:13:47 -0700 Message-Id: <20180509111350.20240-1-yskoh@mellanox.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180502232054.7852-1-yskoh@mellanox.com> References: <20180502232054.7852-1-yskoh@mellanox.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [209.116.155.178] X-ClientProxiedBy: BYAPR07CA0022.namprd07.prod.outlook.com (2603:10b6:a02:bc::35) To HE1PR0501MB2043.eurprd05.prod.outlook.com (2603:10a6:3:35::21) 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:HE1PR0501MB2043; X-Microsoft-Exchange-Diagnostics: 1; HE1PR0501MB2043; 3:I9YW6i7c5naJ4j6oNee6bDIby0dTfgmRhLNXMAKXtn1vi4s+uU16PfMGCaQWikcpFBe9ObtA7u9RzLyGeoaVxP+CBS3MFj3Wb6VEDiDSuXdZfkJtqaFJAzB63H8+mIqMpndOtbskJq/hJV1nwgpoWeL8Gm6fJy/KSVStZlDPqWnLWS2MwnIIcnQoyEY+h65D4rme2d+6WLOipq6fZeImt0pHd7+YaRU8SzTf7MMB6sVOfcmd34M4vtk7pDP2tLj8; 25:6TMkkBHyy3OAPCqtFR2OS90QoGodymYvaAsp/Vhz1fbycGmlBaGOqbri7i1Fw4kJoeC+PBlSIG3sZCN6MULkCvghOmOzVe2kZYAOhVJ3mi9036C1ev3MpbheL0B0WnjHYp7NOy2+BVmaNTACFuNdLasr/7cxBpduLkiSUvw53JJVSA4xebKXN/LwNWRpDu4twL8nALVHnuZKkVbWBqOqKfOgUt0dPh/7yMS38tkSGkH2IOPVMyEbl3+T6Pdkq6+d2H5qxR9nyanduRKMme4DIJcFrjDHcHyFYvUWt9PwPdJpHqmr5N6NeLHvJ+XjvkFcN6gjhCnaatUI8T+1xYXs9g==; 31:1eTjfYdHVbe5zNlXatbU4DBOjAKk7O4acBchWF6jceuCcMtHCOLOwKWq763VH3XDpKZocpVpWQMA3k5doTa9tRYK5/jHv/tzOe3yPqLf+wzDnJC1NGtT0Sc3hv+xdvScFAvWdeXdRd+UyWnf/Fd8mqC/MI56jPWNphMnxSnSgq/KuV5A9ADVMoTf2n/WuGLV+Yk+tay1xI9SyLCF+mVIRiaPATyCTzM1mNMJbfd/tW4= X-MS-TrafficTypeDiagnostic: HE1PR0501MB2043: X-LD-Processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr X-Microsoft-Exchange-Diagnostics: 1; HE1PR0501MB2043; 20:Vz9eyfjj/5dnbmH4u/w7TvSh0N/DFMrgPbLhfzVbT6fULKeK4YMLNUNsO1rnFD9w2i4cr6AoBt1lTLWVSnsOwfIMPdwPPbVnxSOCcufoBqZCUKJXjs2nggIKjYzF7Go3B/w+nuPk8WY8QklBRt0TJJuwlC5G8n2lsVpEXQzN4jZcsZdWac254DtZLgKRWDE8ZiaN9vqhggpdJIQPmACzZ/+zhxDiNtz6ZODYke+6MowRYFNumH8bwThlj3OCrUjqwe+Pwi4JaK6hrGs7R6pgpK3LXviKn5lmZxWeOK74DSCqSo17IwRP7M1sw82Vl2pKz+nhl7sWAThXbchsvmJg0IHIoMg2c3WdNj2L3B/qK3z8sYqamCQRHLV0I1ZhdfLd5P64PxGWY/Oh/nNhYvNyDJglzvNbfR6cKZtzyhL8CNyT5oVGyzXwlOih6aAzfuxqOHjH3upmNaG5A4hgy6RqaVxCedqD1+v+9uJ6q/82MZlLET7hVW+PJGt39YGj4jlf; 4:SYCLXc1lW4Oep74MwRdFyVz6WS2k89yZPPmsqapigbcUWZ2jaiTtRprQzNNq7VxhJtAK4agqrw9OvNXrFlfn0YyBp3EdVh/RF8+6ZjG47+wdypmJsGhvC0S+MkSsaDN+pwrddK0zapX7rwxNeaO4QlQicv8+X6bT7G2/kPEeGl1qsesYlcVVGE//9IpcUtHeFqkOiSoPfthLcJwyc9NeTam+M6LO9FOe8g5N5+3QfRUuS8Jp2LyOIAxImZwVyE0ff9cWqG394KoVez30ENtVcA== 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)(10201501046)(93006095)(93001095)(3002001)(3231254)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123558120)(20161123562045)(6072148)(201708071742011); SRVR:HE1PR0501MB2043; BCL:0; PCL:0; RULEID:; SRVR:HE1PR0501MB2043; X-Forefront-PRVS: 0667289FF8 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39380400002)(366004)(39860400002)(376002)(396003)(346002)(199004)(189003)(8676002)(5660300001)(48376002)(26005)(107886003)(1076002)(3846002)(97736004)(2906002)(478600001)(81156014)(68736007)(4326008)(55016002)(305945005)(16586007)(7736002)(53936002)(6116002)(50466002)(5890100001)(69596002)(66066001)(956004)(8936002)(106356001)(76176011)(105586002)(476003)(11346002)(16526019)(50226002)(47776003)(386003)(316002)(59450400001)(52116002)(81166006)(51416003)(2616005)(7696005)(25786009)(21086003)(446003)(186003)(486006)(6666003)(86362001)(36756003); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR0501MB2043; 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; HE1PR0501MB2043; 23:CXGuM67BJjrucosaCZdV+Vk+b0n2eO0wgUu1uI5?= =?us-ascii?Q?OxuyqRyhsW6L1VuOGtj0/qv+oalPxrzbsytAdOT9UvgQsFQyWAANQGInQ8QC?= =?us-ascii?Q?qs9nEvr2XccMxSP2PqxGgZ7Cka3bjkgbqE1ys2oE09HWr3oWVHDkkh8ztQpD?= =?us-ascii?Q?UPLjF0p9dDUMmXl12/pCVymDOSGgVhg4AtgnkfTHRlsbERFEgvxqar/tZqmq?= =?us-ascii?Q?grmqu2bR5l7YOPWQoB3t7p6MVd8KEpxRagP2zpnYp8Wme7H2a+nniUoNjP0E?= =?us-ascii?Q?to3LNBElEyv2Rp+2DPoayspRD9rIbUamubthINH1MTjWpnlwwLLohLLQabWG?= =?us-ascii?Q?QSPdDK50F/yMRkzwU+ZFTWc21WKw1LV8ecv6bcrVwSRAcbfaO4pkuKuxGFL7?= =?us-ascii?Q?0uqJVIDB5SwmntD2jWJMd2iDr2bfKvBFnxMPiguFXBbqHIPaG4y5/kpQ/SsI?= =?us-ascii?Q?vAFiOFsEeK9sXJj3VRB1h1tDeaTy0zYQmd+JWMLzrqej1akP5ETW20TMZL3q?= =?us-ascii?Q?9dTXS6uJVsq5Dg/mvH62FZb5k/YZ32mqaaPLGLkNM6Q9ga+eETBFh3zAwYTv?= =?us-ascii?Q?8ICSIKnLvo4o1ZhFigW5/vmeOL/XVKxDKH5HFFL2LwYjEM7qF8UT7v6CKk6K?= =?us-ascii?Q?2KkJoohxk+3pMrn85euslHOk2Q+RRnSb14QRy4kFEahy8KN9G/ZtBHiqIjlq?= =?us-ascii?Q?pBhUH9ji2fuOuYKN/QShdeYrqOvr3s8RG1npCeY4xQfPpvoaXVLaB/t0EYSw?= =?us-ascii?Q?+UanP2irVIqKD7Spy1ooscx6cP3C9Z8Z8pTuDvcHkrUxRzMq2w2SsbSFRR0/?= =?us-ascii?Q?ZOOzyovgMuI7Ia6tfVIKi7waYTMU9S88rTxi9Dw6Uk8eiNyH7nA30oCBYwKz?= =?us-ascii?Q?dlgkVJgq0y4SpIYkfXhaBeMXLOyTHJ7APHBL/11/4VEAezwnvX6lF/1P/FkY?= =?us-ascii?Q?KtQmzrudnSTi+MZs/5+NyLcU5InnJ6+tHvJXutomJc7VR5RA2uxhtEThmFs2?= =?us-ascii?Q?dcY+u5AXd4ax/3Iygl6nnypIVM3GV7SFU2okC58IkVmp/9nf7jrWf+wC8eA7?= =?us-ascii?Q?SkpTqzInxAm38Q5OmokH2LXs8FZgZlbUv59Uklej5GHNNBf92To1xZQg5Zwg?= =?us-ascii?Q?IEIgMZygLAoahOwPw9CDuZq0aSLqVMcyjtcQJegvUFvwXgIlBdNCIHWEGSAb?= =?us-ascii?Q?zNiiLs2KCRALT8rMb1KL2qqy8sMOxBzuIvehXBa2vFrsZRWdTMpEmOnkG/ke?= =?us-ascii?Q?eOSGsX4VA2+pzQRyh/JEKzSRupnjMcH1VXOnD8dJL?= X-Microsoft-Antispam-Message-Info: AV1m+k63rnzqM/LRGMnBKE3V3CgOMI5XwJvgvKKnBVpxXyyreWD4Xfgg2tpiY2CZVGTHroTrXwKqkmyOW5tsbn/RxTzDtToqE3BqidEJQQSaPLapPuzw8e8oPnWW40b3fmOPDbm/oE4EWfiMbjHxWMtMno1puPNPxV+QhZO2jNZvmb31l4MmZUguhqGjrvyP X-Microsoft-Exchange-Diagnostics: 1; HE1PR0501MB2043; 6:PTpPFQwRdwBYeTx0oxv7tt6cHZK/g/vrxkfk4Fn9+Uozo9JUeHfUD/kqOQhDNi4rAE7KHbE4kQj58386cf5ZnRTY9Gmt0pNj3iEv1ErTgIey2FDUIXxrSk/CkzHgb9/3LoixDZFkINWeQ+/8qyPH8qZIbG0ozPEY1ggkpa3G9UGBT/B/+rzTn9FVKy5rDgt9m42/xXzs7IghxMVNS6PipHWtbTgEKjl+bdmd8LoV9s857olNreIlN7tjrge4wrNIUy5chWXIzRYyEFOklORUI6bwhf7AcvuYUvHBukNZ6DPfm+KCmd9ahgKhda0z+EzRjIxS8uEeWo+hAGbLRcWYJI2I44eCFX8MnfRPCnvK/bNic7MOodR+q0HxQC+16hthvSCU0G8hGV6HcE8ycksSA/50I81NTVuX35KV1kCsCQ+QVzD4Mk33KKfiyBty0W9ARFi0qotkA7ey3IecIlwRxw==; 5:sFC1P2kmPRj8/E1/yI9Br7veZeZniY64gkiZVwrHKQ8nNP9t2UmzCaSr2EiubRewYpZeCf4pqxyoeokfDCyZNiYeI/acGQK2o8bdMc7Y/3X3wvDcLvUJpMHjpKq+wPMNYoSzeonDALXCgGDo7X+mUEpK5izyovipEzP883b+4Mc=; 24:ST1Y6+W0TDXqCEqqqylKnoJlcqFWojpuJAMDy47d0DlydphNw1daJz8eSvrRTmYmbdwGc4mbFHDHaY8dja467YE+Ir2d55hkqbacKEgqyEU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; HE1PR0501MB2043; 7:GUNT/fRzkMjQu5uu08W4xNQdx2WwiqMgP6FgBr9SiLZn382prbcYN4zQktoi5Jivj1j9fl7r/PrEoh/H57oPqfO2rm2aXx5n0EXnkvTJM8AxUXlc3GTTAYBaSYrqSqT8L4STdKI6ri3Qmk4Np/XmvyIl4Jd3o46ygSxCyftdqNhX3J+qcYjt6++11MyGlT5bnvm5+nlueXpweRigVeyKTNs4A6dCdEvblAD+RuGF+zfOPqO6B/aIzxxqfb+5kz8c X-MS-Office365-Filtering-Correlation-Id: 069a0e3f-bebf-4f06-78c8-08d5b59dfb09 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 May 2018 11:14:05.5862 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 069a0e3f-bebf-4f06-78c8-08d5b59dfb09 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0501MB2043 Subject: [dpdk-dev] [PATCH v2 0/3] net/mlx5: add Multi-Packet Rx support 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: , X-List-Received-Date: Wed, 09 May 2018 11:14:08 -0000 Multi-Packet Rx Queue (MPRQ a.k.a Striding RQ) can further save PCIe bandwidth by posting a single large buffer for multiple packets. Instead of posting a buffer per a packet, one large buffer is posted in order to receive multiple packets on the buffer. A MPRQ buffer consists of multiple fixed-size strides and each stride receives one packet. Rx packet is mem-copied to a user-provided mbuf if the size of Rx packet is comparatively small, or PMD attaches the Rx packet to the mbuf by external buffer attachment - rte_pktmbuf_attach_extbuf(). A mempool for external buffers will be allocated and managed by PMD. This patchset should be applied after: net/mlx5: add new Memory Region support v2: * add mprq_log_stride_num parameter to configure the number of strides. * enable configuring larger max_rx_pkt_len than the size of user-provided mbuf. The size of the stride isn't static anymore but dynamically determined. * enhance documentation. * fix issues from review. Yongseok Koh (3): net/mlx5: separate filling Rx flags net/mlx5: add a function to rdma-core glue net/mlx5: add Multi-Packet Rx support doc/guides/nics/mlx5.rst | 58 +++++ drivers/net/mlx5/Makefile | 5 + drivers/net/mlx5/mlx5.c | 83 +++++++ drivers/net/mlx5/mlx5.h | 11 + drivers/net/mlx5/mlx5_defs.h | 18 ++ drivers/net/mlx5/mlx5_ethdev.c | 3 + drivers/net/mlx5/mlx5_glue.c | 16 ++ drivers/net/mlx5/mlx5_glue.h | 8 + drivers/net/mlx5/mlx5_prm.h | 15 ++ drivers/net/mlx5/mlx5_rxq.c | 494 ++++++++++++++++++++++++++++++++++++--- drivers/net/mlx5/mlx5_rxtx.c | 307 +++++++++++++++++++++--- drivers/net/mlx5/mlx5_rxtx.h | 37 ++- drivers/net/mlx5/mlx5_rxtx_vec.c | 4 + drivers/net/mlx5/mlx5_rxtx_vec.h | 3 +- drivers/net/mlx5/mlx5_trigger.c | 6 +- 15 files changed, 992 insertions(+), 76 deletions(-) -- 2.11.0