From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id DA1E9A0C4F; Tue, 13 Jul 2021 17:18:56 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8B16C41238; Tue, 13 Jul 2021 17:18:56 +0200 (CEST) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2056.outbound.protection.outlook.com [40.107.223.56]) by mails.dpdk.org (Postfix) with ESMTP id E894B410DC for ; Tue, 13 Jul 2021 17:18:54 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UuCvW91GhVGy13exTDYO/MuFka8FfBpvvFJ7yw/CgeMQMhmmDaZeFez4HHfnINbTttnIlfKeNN9Yty/wQOIuN9oWIbda3svzOKPhPx2lqucqfzFA1Q7xTFK1VcDKiDxZ/nP4Hs6s9oa+Mg9ICSy8QOpAJmRUVUZqmMfr3pr3KkhGzg8Jop5RBFnVnK84w6Tlwrciv+N0gNow0Afidhhj4ot2J1lMG/2zkI4tcmbKsuK+Kz9llk/al8Z4p7QVuK5SSiDjEY3CWSVXBKU3mOlTEyF+dr2zoBOVG+G19ZjrX23bmO8pJeGwyJDuDG5pWWq1IbwRiHXm05ThxuO6ENLb0w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=E8hCZV4wmc5bLjuIvb5zejtsqG06II7rO7uHHA9yuLU=; b=Kqse4W79k+6zT3rwkdLBpGH/NgwtCP41zeI7lsD7zrEzFbEQAhmkMaME8spqQMJWaprGU6j5j8Dng5GJMsW/eyt4qyxOHOiHpg8saZRykAtQc4VUMaR8zkuIvtKkWN0TwTZC25TwHUiuHp8HYaAadQrCasZ+rhHP3JsbeRQ9v9KkXVLwiqhwlLMrxGINmns8mhYk6Mn42Q5R45EX2BbE8eafbZWqRQK6H03rh6HtvYvHjjBAx2MluTQOttY608A9bG8MuyGM2oqM9pRpcuY1ePt3NkZ7Mmfz0fsl5WlVSevcmjB4CuxBxo5f2+GrsVBDqGpavYp/C37I0eV0RvSQVQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=E8hCZV4wmc5bLjuIvb5zejtsqG06II7rO7uHHA9yuLU=; b=VRK1+rXDp3GXBbvsgnxIN63B15QjowjOhsDUqWQc5p2t+9LSW1Xr1MznIlimkd3MbPndEIxrjKt/P28w1n5E7Is2GwnfSUy9fV1r6Duren3lhfG7H5eL+UEJ/AZ+CzWa+eNehcSXVHDoMsA+rpvJcKsvp/brJc+a0mreb3mBua2El9bcei+SexblOuyb8WFHWbjUJnp7vWaSJxsaGIc+zyVDtnHBjfS93JTUd/ptHIvRmys46xjW7XVGjxBWbxOsUmJP9OktT/S3++pjkkjjdPFNliTtBL434CE8LGp9fc1kO4kFwnxnAw8U61I5sAfzLRbsL1tIXBP2t+Zd1Rcufg== Received: from CH0PR12MB5043.namprd12.prod.outlook.com (2603:10b6:610:e2::20) by CH0PR12MB5137.namprd12.prod.outlook.com (2603:10b6:610:bc::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4308.20; Tue, 13 Jul 2021 15:18:52 +0000 Received: from CH0PR12MB5043.namprd12.prod.outlook.com ([fe80::893e:2586:cb76:8603]) by CH0PR12MB5043.namprd12.prod.outlook.com ([fe80::893e:2586:cb76:8603%3]) with mapi id 15.20.4308.027; Tue, 13 Jul 2021 15:18:52 +0000 From: Raslan Darawsheh To: Suanming Mou , Slava Ovsiienko , Matan Azrad CC: Ori Kam , "dev@dpdk.org" Thread-Topic: [PATCH v6 00/26] net/mlx5: insertion rate optimization Thread-Index: AQHXd8NxxND8T1ML6UiiUp42uAwy06tBBS1A Date: Tue, 13 Jul 2021 15:18:52 +0000 Message-ID: References: <20210527093403.1153127-1-suanmingm@nvidia.com> <20210713084500.19964-1-suanmingm@nvidia.com> In-Reply-To: <20210713084500.19964-1-suanmingm@nvidia.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: nvidia.com; dkim=none (message not signed) header.d=none;nvidia.com; dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: b7fe8499-dab2-4ca9-46dd-08d946118624 x-ms-traffictypediagnostic: CH0PR12MB5137: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7219; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: kUOfT6HeioAofVSLKjzuazM73DI9hrP6g0ss7b30plqG3NKOPZxwOEFSkJ67qGMIiZIq25MfhBYP/e1TbrZeFaYs4p0o1sUWMokiRcGUWVuUGjNoyOkNytnPIeGWoI3pmrdrcNY5pCl6Q9HXBTdK0rlOhblPJH2ks63BRuRHjpuwo1L9VQL9I3ZHkwXYekRT9E+JMH4DwtVBhXwakMBgTGGU8+NZFd/0PL/jUmCBY8M7C/XRkXGisBbQoEP4b5maYuqcl2m+j2uIIlf4C84Qbmlw9wQhHap1SUfRi64KBJMScki6IL0K+54gLYsW8+GTDGZ075gzdEWqe/5UtGUdivAZQsvJ2BZowPmTjkhYM9tjj3FiNVmTnqW4kUeqLD8VKcgnWBOWvTzCK0jk+ILpXaWWhURcic/pgHM/VRtIZOT3Lwb9gOEfB99iM6d2zfL7LckfBpi0S7UHq/DdIJqjwBbIpd/yckpvjVQN/RnBeQ0DxGvcTy5LMpEjWbIwmlYirJf2C/oHPwe0N1dsZHUgz850O460SbOB4bTAmCFK/voFFXQyeMffgteareugtZ7GDLIXpfP1SUoWVGprQ97rTug9ZethNmMLI06KslbyvvJSb95X5mdzTvpGPB7zlMYklLC1ApWx35ZXHL5cYdTaNw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH0PR12MB5043.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(346002)(136003)(396003)(376002)(39860400002)(83380400001)(122000001)(66946007)(71200400001)(38100700002)(316002)(4326008)(6506007)(76116006)(86362001)(55016002)(478600001)(7696005)(110136005)(8936002)(6636002)(186003)(8676002)(66556008)(26005)(33656002)(53546011)(9686003)(54906003)(66446008)(2906002)(64756008)(5660300002)(52536014)(66476007); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?0JrvwREIHIxEwmLC0P8fvSr49XKkGC1sH5XWXieXBeIIQ7cXLYcnpqcmxLX/?= =?us-ascii?Q?i/zHOqj/gBkDgp+RreRXgQo3UYZyLSbWWQ7B1crExFPMhTDtW3U0XXvY3O1v?= =?us-ascii?Q?jSaIpV++dARnNs5lCPWA0hTsIwjstyM9qM0+W1PBcPkXyiKSbMgUztLd7ybK?= =?us-ascii?Q?iWrr4SBpDduTsRc1KTjEp/syyQFB/y1xB7T0h9yeczI+CQBA1hkS67dQtqTF?= =?us-ascii?Q?sRz9cEFKP4oVEdNWtvOQZZPe5Ryi2kaJYN5p2OS4idP4WxsZ7EtuZgP/iKym?= =?us-ascii?Q?WOL88hMLCrU8uL4jUfkFTeG0y8ER2j7hn9Sgvv4shcDc87u2MHNi6ntoCuKb?= =?us-ascii?Q?l9/yQfCEON0y/ZYFb2T6JjSc0oT8EM9WHaL6b0Ll6XGWcSMjEJgxyjp3GgYT?= =?us-ascii?Q?p8zWGb61QFNLARgJxSuovNBfHEm4yurqPNKnl5XJSFS++OQSqDV34EQLshTf?= =?us-ascii?Q?XjWFKEmEqsDLJKx3JTki5HOVlYkoIzfHEc8Sw8wgM8+aJ74Ouzc7HR8icVQp?= =?us-ascii?Q?wksw9WVDSZ73zWcrFXnSCECm+U/kUm5zHKXtpixoDI0k5d7n+Hi+li1AyLtV?= =?us-ascii?Q?itIkXuVOo1+bl4U03p6c450QySWQl+2oxRN48zgYtWU/ElqUqJ5/KJP1x9ID?= =?us-ascii?Q?6UY22ZNDrJKPVYf8jLz9QM4JUarFnH+WNpktxdtYmc6p1A3/EX8NW6pptWCH?= =?us-ascii?Q?D+5jtvQiqmd2Bd+vDPJxKrtnG7fJ0rmX4ahwkZ5ql0g8k3eXQU3tFhCroD5k?= =?us-ascii?Q?VpEhDRw6iwTF17W7St5fP25JdRL84r5qc6LDTu7qLOJlLH5g2Yqsika2YDv0?= =?us-ascii?Q?4fubdJEKLc0CSztrE36POMig/CHM8JHPCxFkEEqjOWn6KsJzW3OXumFBvrJd?= =?us-ascii?Q?dqmzNSe3+1jgz5nQn1A0eMzBUlq7gwbU0N1wKdr62TRdlW/vPOmS+4ZDawZp?= =?us-ascii?Q?M38Dm+RHe73QlzRmpuWxTVnNxh9VhyJeEnt7wmQaJTxfQtb+J0YGhYAMNCd1?= =?us-ascii?Q?Cv3CYX28xjiwFShKYx+ykmZcmu7L7ES0uujmW7Wwudzi0JHkL2RAfZWeLFPT?= =?us-ascii?Q?UZGI1trROygj1T+5NVY97VFVXPyv5TCgZts8/5bFYIleVRrLAD0ebGkJTYEI?= =?us-ascii?Q?842b+cczOcMPrM/P+boC/xbeNAunlcAqTY+hBusODskLcAusiRYEVRhmVZb2?= =?us-ascii?Q?kuqkLy7l1HUV+ZmAjuJzGDm4xcBLfM4uAphAr8bvnJZvK2zmidmK7LMIvZEx?= =?us-ascii?Q?x8zbP7Hc3rdFXvtuP1wSRxbOOmCk1S+nm4SFKwCJ2uv1M9YtVmEZG+czqw6k?= =?us-ascii?Q?UqHzvS+mtGUOgDuHL62F0R/x?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH0PR12MB5043.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b7fe8499-dab2-4ca9-46dd-08d946118624 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jul 2021 15:18:52.7304 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: rXQ0vP8d/yfhp8Cz3M+c4PN0Hv14anSxDgc5nz9xN3rS/x8BlVLIHMCdp+NLKxn9smHjGNb8NVLeN5PpzAPrtA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB5137 Subject: Re: [dpdk-dev] [PATCH v6 00/26] net/mlx5: insertion rate optimization X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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" Hi, > -----Original Message----- > From: Suanming Mou > Sent: Tuesday, July 13, 2021 11:45 AM > To: Slava Ovsiienko ; Matan Azrad > > Cc: Raslan Darawsheh ; Ori Kam ; > dev@dpdk.org > Subject: [PATCH v6 00/26] net/mlx5: insertion rate optimization >=20 > This patch series optimize the flow insertion rate with adding local cach= e to > index pool and list. >=20 > For object which wants efficient index allocate and free, local cache wil= l be > very helpful. >=20 > For index pool, two level cache is added, one as local and another as glo= bal. > The global cache is able to save all the allocated index. That means all = the > allocated index will not be freed. Once the local cache is full, the extr= a index > will be flushed to the global cache. Once local cache is empty, first try= to fetch > more index from global, if global is still empty, allocate new trunk and = more > index. >=20 > For list, sub local core list is introduced. The allocated objects will b= e added > and released only from local list without any locks. > Only the objects need to be shared will be synced from global list. >=20 > --- >=20 > v6: fix compilation issue in "common/mlx5: add list lcore share" patch. >=20 > v5: code rebase to the latest version. >=20 > v4: > - split the list utility to commom patch > - fix one ipool crash issue in mlx5_ipool_get_cache() function. > - reorganize the common and mlx5 patches. > - split the doc update to an individual patch. > - update and rebase to the latest version. >=20 > v3: fix Windows compilation issue >=20 > v2: add the list per-lcore cache optimization >=20 > --- >=20 > Matan Azrad (9): > net/mlx5: optimize modify header action memory > net/mlx5: remove cache term from the list utility > net/mlx5: add per lcore cache to the list utility > net/mlx5: minimize list critical sections > net/mlx5: manage list cache entries release > net/mlx5: relax the list utility atomic operations > net/mlx5: allocate list memory by the create API > common/mlx5: add per-lcore cache to hash list utility > net/mlx5: move modify header allocator to ipool >=20 > Suanming Mou (17): > net/mlx5: allow limiting the index pool maximum index > net/mlx5: add indexed pool local cache > net/mlx5: add index pool foreach define > net/mlx5: support index pool non-lcore operations > net/mlx5: replace flow list with index pool > common/mlx5: move list utility to common > common/mlx5: add list lcore share > common/mlx5: call list callbacks with context > common/mlx5: allocate cache list memory individually > common/mlx5: optimize cache list object memory > common/mlx5: support list non-lcore operations > net/mlx5: adjust the hash bucket size > net/mlx5: enable index pool per-core cache > net/mlx5: optimize hash list table allocate on demand > net/mlx5: change memory release configuration > net/mlx5: optimize Rx queue match > doc: add mlx5 multiple-thread flow insertion optimization >=20 > doc/guides/nics/mlx5.rst | 5 + > doc/guides/rel_notes/release_21_08.rst | 1 + > drivers/common/mlx5/linux/mlx5_glue.h | 1 + > drivers/common/mlx5/mlx5_common.h | 2 + > drivers/common/mlx5/mlx5_common_utils.c | 569 ++++++++--- > drivers/common/mlx5/mlx5_common_utils.h | 294 ++++-- > drivers/common/mlx5/version.map | 7 + > drivers/net/mlx5/linux/mlx5_flow_os.h | 3 +- > drivers/net/mlx5/linux/mlx5_os.c | 209 ++-- > drivers/net/mlx5/mlx5.c | 34 +- > drivers/net/mlx5/mlx5.h | 46 +- > drivers/net/mlx5/mlx5_defs.h | 12 +- > drivers/net/mlx5/mlx5_flow.c | 308 +++--- > drivers/net/mlx5/mlx5_flow.h | 209 ++-- > drivers/net/mlx5/mlx5_flow_dv.c | 1206 +++++++++++++++-------- > drivers/net/mlx5/mlx5_rx.h | 14 +- > drivers/net/mlx5/mlx5_rxq.c | 136 ++- > drivers/net/mlx5/mlx5_trigger.c | 8 +- > drivers/net/mlx5/mlx5_utils.c | 627 ++++++++---- > drivers/net/mlx5/mlx5_utils.h | 255 ++--- > drivers/net/mlx5/windows/mlx5_os.c | 11 +- > 21 files changed, 2543 insertions(+), 1414 deletions(-) >=20 > -- > 2.25.1 Series applied to next-net-mlx, Kindest regards, Raslan Darawsheh