From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <yskoh@mellanox.com>
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0086.outbound.protection.outlook.com [104.47.1.86])
 by dpdk.org (Postfix) with ESMTP id A59301B1B9
 for <dev@dpdk.org>; Mon,  2 Apr 2018 20:50:29 +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=+SHxehQGPhtpkKktOqCTlBZ8ftzU2rRoTHmVjVEfmvI=;
 b=tdxvwMq/naqQo+bwHLk1WrJEM5qT1hej5FYMsQKAVD0GLCG5xoEb6ceT1cpRS/qSN3Cx8P4xe608TKwDia7UkxcVtJ7CZlOHYhQYBdrtnjGjYqoo/Ms0AvNQjDpJfehlHHzE55VOUQP3MPeMhT3PesjI9gPEhLvzVUBC3QA+b9c=
Received: from mellanox.com (209.116.155.178) by
 AM5PR0501MB2036.eurprd05.prod.outlook.com (2603:10a6:203:1a::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.631.10; Mon, 2 Apr
 2018 18:50:26 +0000
From: Yongseok Koh <yskoh@mellanox.com>
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 <yskoh@mellanox.com>
Date: Mon,  2 Apr 2018 11:50:02 -0700
Message-Id: <20180402185008.13073-1-yskoh@mellanox.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20180310012532.15809-1-yskoh@mellanox.com>
References: <20180310012532.15809-1-yskoh@mellanox.com>
MIME-Version: 1.0
Content-Type: text/plain
X-Originating-IP: [209.116.155.178]
X-ClientProxiedBy: DM3PR12CA0064.namprd12.prod.outlook.com
 (2603:10b6:0:56::32) To AM5PR0501MB2036.eurprd05.prod.outlook.com
 (2603:10a6:203:1a::22)
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-HT: Tenant
X-MS-Office365-Filtering-Correlation-Id: 2bdf5f4c-5084-47e3-5c36-08d598ca9a51
X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0;
 RULEID:(7020095)(4652020)(48565401081)(5600026)(4604075)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020);
 SRVR:AM5PR0501MB2036; 
X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2036;
 3:vgowsZUsGlIsoECupCiBEZfGOPIvdaK7TaoVyPE2jNJUb4/V57Vc2KVm6YGoKGG2jUJAn7cL8PPMevKI/tZFNJL1nsMR6BgLssQYflF5EBdsy7kKPSgtV/NqOoBmc1KslmTHBiCG3u2d8Poxz2t96BoPMmCvJXnM1jNqKUWW2mBz0WUMMX0sAlNMKAhkEnoqAYWsVwjLFjIUQVvJvU93JlkUS0AgZVUn8RV9S/3GCmdmYp52eETKachkkfPB6YOW;
 25:gO8qjATxtlzymUfOySWbebVl0ygKcPm/hghy7IT/WRoeAqwONk43JVzKSE0Egfs1tXCG0dPViG2RQ/o03H2t2Qn7gs+4AqoltiehGKLi1h1GLO6MpedtOkzOxk6aEdCUMqwcoBzXsWJ5iVMwhlb+5LjZMh+/JnMZ3ZcQZ5f3TAcqDKkiREtl3oTHIVkTwz154fPxpsl+vLoQGugMI/wViihZBcAMLGw8oWruIyb4cM+ajnysSWc4wZVXgHhKBXQgum0oYcMYO5FmDR7hluwlwSvI6My6HM7fTPthdlpuhoZB/IPgx4FE+ipq+H+zfOMiXgdwlzLw8rZ/nd92inDgeA==;
 31:QuzPcu4bAYk1O16ZWw7h9gUCwQ3FLX1V6Bb2u3BGC+ppXn26SoXCUYwB2kciK/VnhYayPmNLz3WMzp+GCjzzrk9Uh9a1wLoc9hQGORo7LShONmacat+wwocQkIB8KgzGUgeOo72ISR4kqnex4VuDm5Sx1Di95WjSOSXzb906SWOhnEpO+4REW/UXXtQeaJMWPw3b1zAr1dMaOczHv/dMR3spyB/TntQt9XjnI5IR0XI=
X-MS-TrafficTypeDiagnostic: AM5PR0501MB2036:
X-LD-Processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr
X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2036;
 20:UuxVI3ouU2GM/NiSw/YhC/8ZTRJ5Bpgbk0pvdH/FPzTq4GzrCJG2uIvBeW2JpsTnMkqxEjWE4fjTAEXCM4oXam7GZEpsvAy4Ve/JsWbnjVL7My6vkvt1cowCQSIKwMAUjL+E/jxGOn/qIM742kFb60/udsxW9mClfjgU6MrZBNKaKRL9BwsQt4E44+43v9aI/TGxFqfqLwerqZ7NuwsSEPEEP8EwX7xVEuZ3Rn83HIXLkTkX4CKeIa03ufLGWuHdEdBnFELDk91cmAnuOKjVJo6o7wiMf8b6D4w9LALrLG1uua6CorPikDbXr6mbmvFFYHdhMIJj8QLEu70NZaXOxR7MUbR7nUrQhaHV/QpGIyonJOxfPpvgs9BGztLP0bNAAzOTg/x2lJGl1htVeJwSKf/CI8biJKoiQYsmuYbPL0K4wdUQkT/egqn4KrObCImjSWy4vRNMiJpCGz/uegPqy0XJae9xVK/IaiR97RfK2gRMPInqzNssDv/6UvofDzQV;
 4:0jjdYkKiAJuwx4jJnq1YKw8bcxrzimIq39iAXIRetjPY/I5qvS+4kcnhJW68Q5QD+yAs+6jKFEnq8rVRG1G/+R3d9+v46tOJx9HyENNemK92rJP+bdXW14WeQP6LHvtygFXnM6oiIb7FzbLkH13s5HAJ75aTUGPhdZu2zXHUr9TNeBQ4HYLaAqHjAc03mEAh3O3Jxvz26BiTWXWRilhGgdFDaaK2Y0/K5rpIaxL3TsQAQ03/cT3wRAmzgJ6am94sjw15lYtaSjNpHRsA4avBPg==
X-Microsoft-Antispam-PRVS: <AM5PR0501MB20366227131D7317790D30C3C3A60@AM5PR0501MB2036.eurprd05.prod.outlook.com>
X-Exchange-Antispam-Report-Test: UriScan:;
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0;
 RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(10201501046)(93006095)(93001095)(3231221)(944501327)(52105095)(3002001)(6055026)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123562045)(20161123560045)(20161123558120)(6072148)(201708071742011);
 SRVR:AM5PR0501MB2036; BCL:0; PCL:0; RULEID:; SRVR:AM5PR0501MB2036; 
X-Forefront-PRVS: 0630013541
X-Forefront-Antispam-Report: SFV:NSPM;
 SFS:(10009020)(39380400002)(39860400002)(366004)(396003)(346002)(376002)(189003)(199004)(25786009)(106356001)(7696005)(81166006)(956004)(5660300001)(76176011)(16526019)(26005)(8936002)(186003)(51416003)(478600001)(47776003)(69596002)(66066001)(50466002)(105586002)(476003)(5890100001)(316002)(486005)(446003)(6346003)(21086003)(81156014)(52116002)(8676002)(16586007)(86362001)(2616005)(50226002)(68736007)(386003)(59450400001)(11346002)(486005)(107886003)(3846002)(1076002)(2906002)(6116002)(55016002)(36756003)(7736002)(53936002)(4326008)(48376002)(97736004)(305945005)(6666003);
 DIR:OUT; SFP:1101; SCL:1; SRVR:AM5PR0501MB2036; H:mellanox.com; FPR:; SPF:None;
 LANG:en; PTR:InfoNoRecords; MX:1; A:1; 
Received-SPF: None (protection.outlook.com: mellanox.com does not designate
 permitted sender hosts)
Authentication-Results: spf=none (sender IP is )
 smtp.mailfrom=yskoh@mellanox.com; 
X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0501MB2036;
 23:4mgNqk6OkhXqIKRUDd4IjxoXxRoRNJDCowy5LD7?=
 =?us-ascii?Q?2W73au6e2L29B/I4xhYjfP4uo/C+uCZGy5rjg4lq5iQkPQqAH1NMOob614Mm?=
 =?us-ascii?Q?QcJqcJzofxqhWSVLVRb1B26yi8HqrL1764qMjVQg4I92iDPl3P4RU2sYel0I?=
 =?us-ascii?Q?6zxDWfGhZ7M3IPu8LaoA1ylj+uYjgTzbT2AXIZ7kMYn8E0XgZibSJ7Yo6k4E?=
 =?us-ascii?Q?IZqY0HmnqLroct8JDd/+hp3i3Vn4jnTgrplx6h0/dLlZIasp0kE9ioQX5avU?=
 =?us-ascii?Q?+cHnaEUkLEfcidCn4ByGzCe4CqJ57CUifgRo9ebDv69GnkytgeKuKWCZiGck?=
 =?us-ascii?Q?Z1nPnfF88wC5mzwJzQCdtKJhYNuJuYrJQA+tVxJLUXZvmcEuZPOhnZUuzOmO?=
 =?us-ascii?Q?g74jE2AcZQMdOvuLGUPC2f5QHS+cvv/lL7RzNHF7cGExBMhqNBmkTZt5mYqm?=
 =?us-ascii?Q?XDMNvM+Bj6kwUXAzAOxq2BjJIrLcXNDIjLu086cEUWXE/5lsJBbj6LI61onm?=
 =?us-ascii?Q?2pEC9vapxtu+brPufpej79TSwo4rXxkqeUyB3POlJOidKPwBX6RfktD5vPQr?=
 =?us-ascii?Q?S9dVbg0djMkPAWJsZyxzMXIwsWpoB6dDEAXoJT+vA4gDolo70JpSmBPPQ/hD?=
 =?us-ascii?Q?hIhFD2BM8vBSo9EecPKsEzKCGH1YvES7tbRb+CrG74a5Rrqe+xwe2hkBMhQ6?=
 =?us-ascii?Q?s4QtyV73NRTzrfi1LoXpyOR0Ywp1LpmwtXVGcUfNRsKsqm+ZmIYozHwEsbPq?=
 =?us-ascii?Q?PcnYbhTG9NhAmtbXrEkVO7h5b5YQbLGK3F6b8BV66PXROs2imYt2pPsZsWHX?=
 =?us-ascii?Q?U31nHnIochW1krJLomUW04h4tCuh/YGflnoL9wFlnfEn1jHI4nK7Z17LhGmy?=
 =?us-ascii?Q?M0JeumO7NETnqjms7nf1Jxal9nGYPkbgpPWev2prVGMAObh95KcsfwXIPtMU?=
 =?us-ascii?Q?OU+IIiwvWFlpkFpEY59kF7nGXEDK8oCf7S52uDmKQYncA0qn5aGqWxQdOAEU?=
 =?us-ascii?Q?6iStFWB09KohZWLUDHTaEWXmuovsNc0l6DjROcp7pGSJzMHMkx5x5Cqapo1A?=
 =?us-ascii?Q?iyKDHwTMr1xHrR2mqNQqTLxwVD7u9rQxl91GLFUum0QyBDZSt3pMNO3kxCXg?=
 =?us-ascii?Q?sBajyxL4KCqyn6UvzNWR73VotXxV0X7LqJ/h+7LoiJd4SC9Z3w4CVhBJDqZX?=
 =?us-ascii?Q?9OKNQCSc/7703fQUjwNtOBnK2oDKxt4HeV3pS91IOAbQeOqH0GjuvdKDTCIg?=
 =?us-ascii?Q?rbHHpIfT+IDWXlMKm7TLw3VGuFFafxcPGYmbJ7eHZUEddrEDJmYd1OZZywtD?=
 =?us-ascii?Q?pUVzapUlPIxjqzioUe41Nv2A=3D?=
X-Microsoft-Antispam-Message-Info: 53ikZ3PqrqsjaRQxtdCvxZT8+2Du3Z1JdqWQ0RGRKUpf3G4CBCEvGXfZ7FqgxESuiT3Twz93V0mLepW00x4v5RGW/izkzSbTQLUmTzce6Xnc4ZiP2mi5Gtl17LVeld1vCUnaoA9ptEUb/hHDlAkG0CXFrLLRQR1BSBXmWZ7Ab/TNz4aEVi2bUdd9vhNrK0Ou
X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2036;
 6:+wx2iEVgzJyXFqfymx6sjDN/gTRk4Eh5jMAoKXnFfkaT5gAGVxTVsQstDTUfCqgFHJqn3j94RlLKIQxsTokIqLPpQOp6btJqCYfAEe3uzQEaX3h9PrZld1s5fS6E4GSwGlxzK7xQhUeiX+l+pj5evJnqQLlk8Of63CSzcTONsBEaxlTWzMLyGI7RLkAiKkqb5x0oVCGypawLEttEqdnc+54t6Hr0isSMgNi0crJIe8vGs81JkZu472OEm90SLvzawRxnN04Wg0CIHaZpsCG0YKJUUucPsjqztd+VAMDO/ISBamMnAdf210m6c2kIUOWS3CYv5sWtwmXc7LYVfai5ecWl2Y/CoX1d5oaFuUMKnwmxqYNWdHk+LCWsbnTuzkoARES0d1MJZFyH6JKuPe/skIn5H3hNACWK6aiRGot+uHgJFpQW+yi34UU8+dgQEKdRnLFv6+wGXogLMqn+Kl9XUg==;
 5:EzhgUh/j3Fu7ikZoUCjLPNCvyX0pc2IsWulBe+2ODk6ye/5z99xgVMnmKg/z3oDIEXwFiA72gZfhVeVI0JNO6FeynIMnz3WnF/CjQLiHpfhMNLqc05as0XdWE9Jw4cIZlJx8TtG5fOGCev69yD64N2tYJeVk2igsSLSiehS9Xvc=;
 24:j1KwFDQexVblyE/6LZ2qa8lgW23BH5GX1I3UBUskLfhqNyedJe0La6z9rEgyJdx5fjz3MTID5KlMUu8xCFFLAbO296RXsYmuQlb9VnW6uo8=
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-Microsoft-Exchange-Diagnostics: 1; AM5PR0501MB2036;
 7:U/HsNQAA74rfNg4HNBYzDKoWwfRgHzm7TOnYOS1IO3VWaJBJjmKjm5wxqC01yoyVbTeqfg24vUOnPoLEfjIX4UN+N9+5TnZRZevJe9ruxLRr5rrvSNHL9+Rnp/1O1sdSQIzYA9FS4kLpQPn1YHz5NeDG9/YZNMcytZGfzzGBvsQ37EEaZLXaIxkrdKQ65GsFJS58/WxZkONspzWzmdZKuJsOhGQVOBnUc+Kl5ENyBbMFGt6hKlcBdqsiYaZ2pqAb
X-OriginatorOrg: Mellanox.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Apr 2018 18:50:26.7970 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2bdf5f4c-5084-47e3-5c36-08d598ca9a51
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0501MB2036
Subject: [dpdk-dev] [PATCH v2 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 <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>
X-List-Received-Date: Mon, 02 Apr 2018 18:50:29 -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.

v2:
* Change LIB_GLUE_VERSION to 18.05.0
* Make the new glue API consistent between rdma-core or MLNX_OFED
* Enable Multi-Packet RQ by default
* Rebased on top of dpdk-next-net-mlx to accommodate Nelio's cleanup patches

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        |   7 +-
 drivers/net/mlx5/mlx5.c          |  81 +++++++-
 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     |  16 ++
 drivers/net/mlx5/mlx5_glue.h     |   8 +
 drivers/net/mlx5/mlx5_prm.h      |  15 ++
 drivers/net/mlx5/mlx5_rxq.c      | 401 +++++++++++++++++++++++++++++++++++----
 drivers/net/mlx5/mlx5_rxtx.c     | 236 +++++++++++++++++++----
 drivers/net/mlx5/mlx5_rxtx.h     |  17 +-
 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, 921 insertions(+), 80 deletions(-)

-- 
2.11.0