From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on0087.outbound.protection.outlook.com [104.47.1.87]) by dpdk.org (Postfix) with ESMTP id C935E5F1A for ; Sat, 10 Mar 2018 02:25:51 +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=qduTstU/TotxrAQYldTTMbJOrlSlRjrdq+HxArbnuPQ=; b=ww+NcTDrNWtvIRO5BqrzUzDZ71qSTSqPj0ZhZyzpqaW4dqJnCMG8W0994M8V0oCZZdZzD9ARlAZHdLpdbIJw+ZSZ7X0//9egZBmLZ2f3V/zPhLvi7FVij6fEs17ifwEXCRIXR146uWh4POs9LdQky5bHekraXsSCRGksdQ9gA3k= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=yskoh@mellanox.com; Received: from mellanox.com (209.116.155.178) by VI1PR0501MB2045.eurprd05.prod.outlook.com (2603:10a6:800:36::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.548.13; Sat, 10 Mar 2018 01:25:46 +0000 From: Yongseok Koh To: wenzhuo.lu@intel.com, jingjing.wu@intel.com, adrien.mazarguil@6wind.com, nelio.laranjeiro@6wind.com, olivier.matz@6wind.com Cc: dev@dpdk.org, Yongseok Koh Date: Fri, 9 Mar 2018 17:25:26 -0800 Message-Id: <20180310012532.15809-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: CO2PR07CA0068.namprd07.prod.outlook.com (2603:10b6:100::36) To VI1PR0501MB2045.eurprd05.prod.outlook.com (2603:10a6:800:36::19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 6a6e04eb-c993-41b6-9bea-08d58625dacb X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(5600026)(4604075)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:VI1PR0501MB2045; X-Microsoft-Exchange-Diagnostics: 1; VI1PR0501MB2045; 3:7H91CflaChRMWvH4mm5z7N0/D4hV7AIJ3MuDz3+TInCAPnS4PBOWD4/qBqaZ9qZDxaVdVs2Qo/ijztlhMY5cncf2aGLThiA3OVfNmbVKCFNWrczXhHSlCedg1D7ljDT4ZiKEBLZNAQ3oPEuVa7YHmpfi0hORwdQt/3b4ZMQXrl9LVuGPa4L2XqZS2jQAuznYw45T2D9OCCtXo0Ru1UPB9O5rkzuGwA1UkjA5OcyyutVi5sC3Z6JQ+WpPcCO/S5lZ; 25:YfnIvlZ+5YzTMPXFStxIFky6qLxTncsemIsx8bzKTom062EY60/7z1ot8noXfWGq3DwC+EU1G9MGEGLAeem+Xll4yE//5M9ahZfMZaqNtJLq5tzOsmgh+5yFjEOBgsm3te4udxxTZBimUTBP0jlpyDVp1OMLHi7yJMKKAccino7pfRH8AXuGHfuABU2GM0S8hUBFZ9H4DlhFYXSPgqAGZrXe2ReSXt4IUVE6ldtVAeeSKdQsyHm6+wf16A3UXKM+LIa5zpWmPOrfJ1vnuUPFvIs93xssSG5tNVJ9t57KNvrJvxXUhrhV/uZT+E3Gt13iLcXnQrgducIwSkmi5tWpEQ==; 31:TB3CIlIO9cmtl5WOL37TZZRsOf/qnAyqpHf5ZCNgdfLp5QJ8XiDNUzQpNjbS2UfWSOTPZCf9izbsLDhBlkbW9cOJOdAV3fQEJtdLFZ1W4e5g1A5ZlTqk1diK5U8DXR7fU8rrYNH9yaiIV+uNM/nbVkBZt3dhIJ/LKo4W0MbHwXtPRJAw77cQnVvDN0E8ME8I1jFpKhoWpVopthJn7+2eXbBqLk0CyYR/dKxh3C9F6hc= X-MS-TrafficTypeDiagnostic: VI1PR0501MB2045: X-LD-Processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr X-Microsoft-Exchange-Diagnostics: 1; VI1PR0501MB2045; 20:9GDHq2i9eb7HEFYdHeTXjpk9D6ysf4a0Grk73M2G6QO3wQTNWcSLUwkF6JaA5tTDQVGvxbylFujZ52DK+etkZMmtY0gxSqrXOnbkESrRhOb9adMBB/kLisLYXoUXfJgi/stneGt+rwikY8CzuSEj9HL7l2TlKcVF4PF3EKT2jhWtik5+l7E04zt+29QQzqEb7KxCn0bd6wVub3xGLCTRJPdzWxdNiAwahkEKXLCEh1gq1Ld6h2STv2E69PulrjqbWjfS2HqKpKyJvekMeXu9KaXNfak9EcQnPsRT2p+c8q1XwrwqDJNvzRKmYD37Je8qBzwOz9PKmjHUUHJtQvvAyNc1NRU3XOrrSThshQNfrV0iP5C06jJKCtYc5+A07dKY0pZL8EpIBXPQlMTK7qTVtNosRvypItDx9r9KRzyFsEQeJ/4D1J6tthC8sOROCJtn1d1eKi+Tv6nXPcjcSLY0WpQXJqEJx+F5U1uPcWjeNjjKeWW9pm95r0ksZONV0PDP; 4:ODiSuEPMfZcbZtNmfdKKHBO8gObrL8DHlIFysxqm9k+DofyzpC/Kd3WO+LOY3BdZN6IxzRrEqG82h/8l13tvdCASWIwEGqkODrLdY8JI772sPg5oeD7T/qL8xXBqSfVuBfnzvCd1xC+6noFw90ymg7kASiq/23XgpC7eQmRUXwty7+Qd21peB80CwZQ/XxnT/5ssAyVsuFe+zfizI9Qqa6Vr6dmv6Y0iT8g+lh5q1hhGI2KWVzDUNpaIwGDCuuP0zm66XhdKetdyc0zpyfYtWQ== 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)(10201501046)(3002001)(93006095)(93001095)(3231220)(944501244)(52105095)(6055026)(6041310)(20161123564045)(20161123560045)(20161123558120)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:VI1PR0501MB2045; BCL:0; PCL:0; RULEID:; SRVR:VI1PR0501MB2045; X-Forefront-PRVS: 06070568C5 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39380400002)(346002)(396003)(376002)(366004)(39860400002)(189003)(199004)(7736002)(5660300001)(97736004)(7696005)(51416003)(36756003)(6666003)(478600001)(107886003)(86362001)(8676002)(48376002)(55016002)(50466002)(59450400001)(52116002)(53936002)(4326008)(69596002)(25786009)(21086003)(105586002)(6116002)(3846002)(66066001)(386003)(2906002)(16586007)(186003)(50226002)(47776003)(68736007)(305945005)(5890100001)(8936002)(316002)(106356001)(26005)(1076002)(81156014)(16526019)(81166006); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0501MB2045; 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; VI1PR0501MB2045; 23:wPUqRNU+f88wumbVvljrP71PoAzcK+Bfl45yqzH?= =?us-ascii?Q?eqMeFFlAg9Qu7VKRtUeQEysOpWwvS7c2tdVM01u1lUfq0oRNuIsuQr1iGRAZ?= =?us-ascii?Q?QtwweSm8qZy+LicXZdjkBCEN+Sf+28AJO1OGPI8ey37aLITq4muI7K9EUf8r?= =?us-ascii?Q?xnJGu9qzMnP23t0JrwGu1YEkgGwrB37kYeoT83O2HkJkye6lAzxheZgGREVG?= =?us-ascii?Q?fTdsMryR6pgAxv4Ox5bGdKcu1bzLIWre7Z/OvqRbkwVEXW1dKbhCVdNCyB3o?= =?us-ascii?Q?TmuIjddTOI4Oof43uYlYkWNBWijT5kQ8c28BdZkPJh0aviX0aBt3fp6qn1CT?= =?us-ascii?Q?lb+4/KXj4DTa0jawClntmRv994HyRGfxDMSmDBMZPcM2nUmS7/MucnvIxFWv?= =?us-ascii?Q?lOZnMhSXY0o/pEBb7RVq2FPYzvyPM0XF2Gu0w+lDxRuCtqKeeMwIqP3y/Oi/?= =?us-ascii?Q?qbVi+NvqotbRauTZXrExIEDIvXRN+WMLW2JU2VXzr8aPGVzJBH+XmpHT/6uq?= =?us-ascii?Q?iO5tCzIDIRG2UrBQT5csZJxTfGJnrSP3Tix+3Su/yUakmwANZ4f918x5fyNE?= =?us-ascii?Q?KPgr/jbWKM7WwX+Z1vkmO66lsfJXwpIT9AQWCCY++hihi155jf4QBqPv0JCC?= =?us-ascii?Q?u/1dZDVcss+yIn6840zaSuOuhuH6qZFg6fJvByO3ZsYUS5zRhq0RF7wOpCTx?= =?us-ascii?Q?s6Yi2H47c6Y2OLKm/KxmsA7gDBPAHR6VGYXxR/5A1rLjqdzi3/NLvNXxbEJj?= =?us-ascii?Q?zIyfE6qc+mk8eEy/d4rqzfde5SwltQtPIbZlzTo0tgT/QllRmsfw3ud6TlSt?= =?us-ascii?Q?Oy3bsg6TQUIgNHO7R9Zpakz91QxvmsL6n6G0F8zy5bSO2L/t5Cw3D7Wd2Qxd?= =?us-ascii?Q?sglQRleDMTVyviRHdrgf3XNzN/15YJpGkvgd+rAnmcy4CkMTLrmZYWJkrw3J?= =?us-ascii?Q?QdfUSY2VF33XTaJOQWeuBhq9XdxrzAhbG/taTcR0C9aCjpWpoeqZczmd+caU?= =?us-ascii?Q?VNb8ZZuveBR/Xtyq0YmrnXgVXzBA9nOFnvKBLSngC5BrAEnJpWba1PUvP2x7?= =?us-ascii?Q?s+UjGI9plUO+MVD+tjKXLCr+D8OI8SvPYDrnSMwBLQRw+/MBh26V3dCB1/Nh?= =?us-ascii?Q?dCdKodQzNcIMptrJgmr4ZFHcX4BbiH8lFgV9saNMVSoyv5EBJdGMeyA=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Antispam-Message-Info: tdXyJNKBxJOKEeM+iMdbfNyOR493dbP+LP4vFdq6NsEoYZmMl7VZgFbn2lf45EiyO65WjU26Hb7NHzWwKdhBPvCLxoRmwSn4Z2Mh2+mYw5NpS1hWdPiQd4kZvqJXeXhjHs3YXvCneTj0hTCvxCxV5t8Nolju3nb80hhjgpqsfieugaEr2KQCtF8eK7HCMG4S X-Microsoft-Exchange-Diagnostics: 1; VI1PR0501MB2045; 6:xRk0GTnxUSz1icekpbEvAFHO7phLbZ+jnffojP6n1ThMOioN/VOq+wnXNazTHAnR7yRB/5Mv3XKRHw6NPibWKiQ4eUyTW70r5aObCkfEfITc9hnfjBBjUX4eDKYb5RkN7n3jd6jfpGjGbMqWJA2thBt4K5tCNO/R9FxPdUktEIk2bB3HlWW6+QAR2emlQfscVjRzeIZjJh1hgfhTOO5F5haXON34WYkqW5L2BYS7DEhoAQHFAoNuu2XAkTrCq0LUifPbJKLJ1uEOL+m3yzk8JL2Pss+wf8SfCE7+g5NPyByylo4BeYc1WBdS4uiJuxKwDSgLebY/pp9Ccb99CqyuzshvsJhSJDttfWZWL2Rg6Hw=; 5:p67iV0rk400EMfJXqqzhuHOiRlLo8blGKJijKxI3clFEqf8XFRb9zaKZhRKYuY73SBLtsqmBy414lGCszJnnYDCpFSH8ZaDzU8KxNLlgNJAUWwRyCnSBPSoVm8a/0ygnJDdS8QUZBmw6X2z7wSIo4u8yZMsCW/wkLgog7WMjME0=; 24:9o7kqcu/Tzp/YOmEND68M6/m+te+twRnNNZgxG62OFBuiG+bx+l4lwqgH6wHURYac0f1lL1AIufeUHXSmby+GQStWB2IwZL7XeJDLWLZw04=; 7:AGeykDrvJFZBzRAqB2bl1VqPjSgZR1zyyNvJlITcMqeJaQ2og+Jb1Axqx0mS6YQR/D+A2c45GfpEC6t/8Kg4xaTU6VdayUwAx4qe9yJ7z9dTZeV2p7F2IPn5UpU8s4u5mWa90VoHyzwW46ywQ9NUP92mrm8SIY53L3T3KBSuZB8TIqdIQhUqY0uJIYllh/ltCCTQB/K0C4x5dFf/YcsYjK0lPq2I3xkdhqCqcQdPBRrOjhDY5aIYAFeUkpC7Rthm SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2018 01:25:46.8918 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6a6e04eb-c993-41b6-9bea-08d58625dacb X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0501MB2045 Subject: [dpdk-dev] [PATCH v1 0/6] 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: Sat, 10 Mar 2018 01:25:52 -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 either mem-copied to a user-provided mbuf if length is comparatively small or referenced by mbuf indirection otherwise. In case of indirection, the Mempool for the direct mbufs will be allocated and managed by PMD. In order to make mbuf indirections to each packets in the buffer, buf_off field is added to rte_mbuf structure and rte_pktmbuf_attach_at() is also added. Yongseok Koh (6): mbuf: add buffer offset field for flexible indirection net/mlx5: separate filling Rx flags net/mlx5: add a function to rdma-core glue net/mlx5: add Multi-Packet Rx support net/mlx5: release Tx queue resource earlier than Rx app/testpmd: conserve mbuf indirection flag app/test-pmd/csumonly.c | 2 + app/test-pmd/macfwd.c | 2 + app/test-pmd/macswap.c | 2 + doc/guides/nics/mlx5.rst | 23 +++ drivers/net/mlx5/Makefile | 5 + drivers/net/mlx5/mlx5.c | 79 +++++++- drivers/net/mlx5/mlx5.h | 3 + drivers/net/mlx5/mlx5_defs.h | 20 ++ drivers/net/mlx5/mlx5_ethdev.c | 3 + drivers/net/mlx5/mlx5_glue.c | 9 + drivers/net/mlx5/mlx5_glue.h | 4 + drivers/net/mlx5/mlx5_prm.h | 15 ++ drivers/net/mlx5/mlx5_rxq.c | 389 +++++++++++++++++++++++++++++++++++---- drivers/net/mlx5/mlx5_rxtx.c | 236 ++++++++++++++++++++---- drivers/net/mlx5/mlx5_rxtx.h | 16 +- drivers/net/mlx5/mlx5_rxtx_vec.c | 4 + drivers/net/mlx5/mlx5_rxtx_vec.h | 3 +- lib/librte_mbuf/rte_mbuf.h | 158 +++++++++++++++- 18 files changed, 895 insertions(+), 78 deletions(-) -- 2.11.0