From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 21FE5A04C7; Tue, 15 Sep 2020 12:06:05 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 002E91BF83; Tue, 15 Sep 2020 12:06:04 +0200 (CEST) Received: from hqnvemgate24.nvidia.com (hqnvemgate24.nvidia.com [216.228.121.143]) by dpdk.org (Postfix) with ESMTP id 6B4851BF7F; Tue, 15 Sep 2020 12:06:03 +0200 (CEST) Received: from hqpgpgate102.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate24.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) id ; Tue, 15 Sep 2020 03:03:41 -0700 Received: from hqmail.nvidia.com ([172.20.161.6]) by hqpgpgate102.nvidia.com (PGP Universal service); Tue, 15 Sep 2020 03:06:02 -0700 X-PGP-Universal: processed; by hqpgpgate102.nvidia.com on Tue, 15 Sep 2020 03:06:02 -0700 Received: from HQMAIL111.nvidia.com (172.20.187.18) by HQMAIL105.nvidia.com (172.20.187.12) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Tue, 15 Sep 2020 10:06:01 +0000 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.168) by HQMAIL111.nvidia.com (172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Tue, 15 Sep 2020 10:06:01 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LpTdfsnCoVf51pJO/sQcBVdw5B494J1bYvgavKNR+9+b7rco86/Psw2sV31BJBSc8paxNsjof7ps1dMoqaszAmF+LHRUl5QLpovtY+FCyIfRha1iJG3arA9lh6Jix/FKCbuBoG8YGQZ0p5fIO3YLhs+4vufmsNXze9gmcuRpRLZJyMovG4KO5QVary2u9qYqHnHjc8+MdsrUanXhrmqZMY+6OmoPhWoTzj0jJRmABZd1Fd+j9DRzEm+Z1cUis3xHyIWt/y3HEUWqJCdWjO3//ncqNsGwuiD4lf45EHK3Tv+RJOqO6M7K2uC2w+A4Ahpgcf2RAiSeQPvNx11fYAZH8g== 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=TGD7w0EQqQetlT/LqrIlhoyEEOcXpd2OofgXOlOIXsc=; b=T8bDAUilOqTc80NzsewGmWicx3Y8KlDOM/4hmVHUhWMcKudvjhdIWYZvvnvMt5QqC2YG+s0y4vuiVO2AUEiw0/2lpMmK4WDJINgx2/5/3u2TmoALhxCZR+8wwRMv9swfdxkJszLyFr72ZAyYd5cspOVbpO6JlYN3XqrqWDpTY3ZivFpN7UaNTe2WIvtu3Mb5XB0EGASCuwJK7DwFHhiuUIpIxfyhS7wH99g+FXhOpEHa2bYVCBT1MgoZqXqB3Fi1Bu9GaVYCWmfFXFlPECBjBNsqspTb+n4HBEExyKxRPx0BrrIbyWjrSF5i77cgdrfJDtKY7SP5wtoufD6pk9h9Aw== 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 Received: from DM6PR12MB2748.namprd12.prod.outlook.com (2603:10b6:5:43::28) by DM5PR12MB1418.namprd12.prod.outlook.com (2603:10b6:3:7a::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3370.17; Tue, 15 Sep 2020 10:06:00 +0000 Received: from DM6PR12MB2748.namprd12.prod.outlook.com ([fe80::f506:4af8:281b:cdeb]) by DM6PR12MB2748.namprd12.prod.outlook.com ([fe80::f506:4af8:281b:cdeb%7]) with mapi id 15.20.3370.019; Tue, 15 Sep 2020 10:06:00 +0000 From: Raslan Darawsheh To: Ophir Munk , "dev@dpdk.org" CC: Ophir Munk , Matan Azrad , "stable@dpdk.org" Thread-Topic: [PATCH v1] common/mlx5: fix mlx5 aligned malloc Thread-Index: AQHWhoVae2ztILio/UqTyab5blZ+falpgn4A Date: Tue, 15 Sep 2020 10:06:00 +0000 Message-ID: References: <20200909084317.21569-1-ophirmu@nvidia.com> In-Reply-To: <20200909084317.21569-1-ophirmu@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-originating-ip: [212.29.221.74] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0c053403-7192-4c58-4305-08d8595ef2cc x-ms-traffictypediagnostic: DM5PR12MB1418: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2657; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 5qGrD/EhpKaEZtFK+sUookeRWSAsTjX+EziHndOROl3Wyz4DnJS4OISYzIQ9tu6092K66IOapeVyKzIw2FjDAJVZpMha8qLJzaFhCwgpvI8WPhFLZ0dWYiSNJq6XIB3jkWHmm2mBcVsSTDfo/D7ZUB4mqM/uXc9vnYhsu67cwSgtXoHnTooHFB6pFe/wg3aoUthbCueWjl7JkpUIYUfTQohcvX9WDgfQmEtxo0QgRC3DQ5PcQ+PYzaGKmHRi9L9OznUlbJ8B96J/wHASk9lPcjn7t1hNxomtiEaImpy7Qi/o9+GZWnaJ5w6h6aPmQsTDz6+gG+ON2yctVRVBIpOlxWQ6ImCvoQDSzACMsmFU8eMnOuDY9mITBo4njrO/m76cfaXq5I/KRZ81N5EnhhfJeE9HgoYh9QhZBOBguxLkrTH0g4UXF7N0MVu6wCGYws8p x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR12MB2748.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(39860400002)(396003)(136003)(346002)(366004)(4326008)(66946007)(66476007)(110136005)(64756008)(55016002)(66556008)(54906003)(86362001)(76116006)(450100002)(9686003)(8676002)(71200400001)(7696005)(478600001)(316002)(26005)(45080400002)(966005)(52536014)(5660300002)(2906002)(83080400001)(8936002)(53546011)(186003)(33656002)(83380400001)(6506007)(66446008); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: QN2Pjs9+r6E8dokVttMhJlCxN6DY8SLfkOMMWZG/othIbtV8Jb7ZTguGPk1JaVgKWN9wzkJdv6HG5z9eM8q4nFl2pXuNk4pPQ6Rukug+cvsO7zZTpOU/oPu0TerNjocVpoGk/MSehMtsCOYQ9r2KIr7uGqBjmorqcRqhI4QIjkeXICUxp5RBuZ43pI4PSis9RYC4gqf3q8ZzElOl+FO5r1YhTJiYR5cQ/hsldjBDQQPc56nec8q3qug/HUAoRJVe/PCFXlhVYSry15hYDb1zVOA2phWegYij6PGvA+5+RwnPixBNRWMQXGUSWthh/bOHXlC4aukL2wCuRwTvQNhlo2c4vqxttttIksKYWZHld9Jstt2Z01IOMlZu0esIMuQU9i015PzCR86IddcWBmEgTgce2sV5vLHxvPR9eXaPD9nzaFGTO3JSa2H3fa5Fo3h5WbtvJ7xrGnDEdDraiwd9Wrbr9L6aqhJFEBfNzHA/zMaed57MVhge1bYxvznQU/qnzOdtDmWcYEE/tGW39cs5IDsD+AF1LxhN/+Ft/00vlW1bsDb/HpMDMRpZrl+gyAc0M8NzRmiCOMzx2hcQVCI7mefl4Zk0rcKxrURMpdU7yJkj+XNNAfUOCn9x6KSNMmbNnjbLB4AbTbsuUBlyVzyklQ== Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB2748.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0c053403-7192-4c58-4305-08d8595ef2cc X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Sep 2020 10:06:00.6446 (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: hyo4KXmXdJRSoL4SsMbipE3GY2jiXxjraCxAIvUdALdsrpcy0agIiP3HCOaiglEDiXF/mbCvKWDiAMjNj/SXtQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1418 X-OriginatorOrg: Nvidia.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1600164221; bh=TGD7w0EQqQetlT/LqrIlhoyEEOcXpd2OofgXOlOIXsc=; h=X-PGP-Universal:ARC-Seal:ARC-Message-Signature: ARC-Authentication-Results:From:To:CC:Subject:Thread-Topic: Thread-Index:Date:Message-ID:References:In-Reply-To: Accept-Language:Content-Language:X-MS-Has-Attach: X-MS-TNEF-Correlator:authentication-results:x-originating-ip: x-ms-publictraffictype:x-ms-office365-filtering-correlation-id: x-ms-traffictypediagnostic:x-ms-exchange-transport-forked: x-microsoft-antispam-prvs:x-ms-oob-tlc-oobclassifiers: x-ms-exchange-senderadcheck:x-microsoft-antispam: x-microsoft-antispam-message-info:x-forefront-antispam-report: x-ms-exchange-antispam-messagedata:Content-Type: Content-Transfer-Encoding:MIME-Version: X-MS-Exchange-CrossTenant-AuthAs: X-MS-Exchange-CrossTenant-AuthSource: X-MS-Exchange-CrossTenant-Network-Message-Id: X-MS-Exchange-CrossTenant-originalarrivaltime: X-MS-Exchange-CrossTenant-fromentityheader: X-MS-Exchange-CrossTenant-id:X-MS-Exchange-CrossTenant-mailboxtype: X-MS-Exchange-CrossTenant-userprincipalname: X-MS-Exchange-Transport-CrossTenantHeadersStamped:X-OriginatorOrg; b=SLLbSbm0d5uKyQdnZ3rbAM52FKxivUlj6OwNHGYv9juDBvewQk+TimbW7lxrLc+Yw ZOqBsPq1Bfx9sFIRpdqRY6id2TfzccrvfXRKqeJTGzIiHDbP+ehR5MzD5BqC7btE7S VIGF5AGQHP3owMig0qCU/4FQH4u6Nxvdh2npuB/G85bS+ZmcHfiFbsL5HBOsoI//Mb /0UOuBt2FYqqm3ONf8RXyO0SKz+pcxGOnC1zQBaM3+45xmEncObLfUkg1ykNOkY43x Kil2BYUdnRQ8PRjeVgklW822vxSFp5q2zdDCtlvGcOTvpBWL91SNdCnHrVOw6DN29C gOL4H13XdxNYA== Subject: Re: [dpdk-dev] [PATCH v1] common/mlx5: fix mlx5 aligned malloc 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Hi, > -----Original Message----- > From: Ophir Munk > Sent: Wednesday, September 9, 2020 11:43 AM > To: dev@dpdk.org > Cc: Raslan Darawsheh ; Ophir Munk > ; Matan Azrad ; > stable@dpdk.org > Subject: [PATCH v1] common/mlx5: fix mlx5 aligned malloc >=20 > Before this commit system call memalign was used for aligned > allocations, however memalign is deprecated. >=20 > Based on (1) - POSIX requires that memory aligned allocations can be > freed using free. Some systems provide no way to reclaim memory > allocated with memalign (because one can only pass to free a pointer > gotten from malloc, while, memalign would call malloc and then align the > obtained value). > Another issue is that 64/32 bits architectures use a minimal alignment > size. So any requested alignment below the minimal system size can be > simplified by calling malloc. >=20 > The glibc implementation allows memory obtained from posix_memalign to > be reclaimed with free. This commit replaces system call memalign with > system call posix_memalign. It also calls malloc in case the requested > alignment is below the minimal system size. >=20 > (1) > https://nam11.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Flinux > .die.net%2Fman%2F3%2Fmemalign&data=3D02%7C01%7Crasland%40nvid > ia.com%7C28fa36f0f5544ee01f4a08d8549c7c57%7C43083d15727340c1b7db39 > efd9ccc17a%7C0%7C0%7C637352378361232944&sdata=3DT73x%2FmnZHK > 3Yl9fI17Orar%2FpCoXtHpQzZvdy47OckxA%3D&reserved=3D0 >=20 > Fixes: d38e3d526657 ("common/mlx5: add memory management functions") > Cc: stable@dpdk.org >=20 > Signed-off-by: Ophir Munk > Acked-by: Matan Azrad > --- > drivers/common/mlx5/mlx5_malloc.c | 13 +++++++++---- > drivers/common/mlx5/mlx5_malloc.h | 8 ++++++++ > 2 files changed, 17 insertions(+), 4 deletions(-) >=20 > diff --git a/drivers/common/mlx5/mlx5_malloc.c > b/drivers/common/mlx5/mlx5_malloc.c > index 316305d..4489971 100644 > --- a/drivers/common/mlx5/mlx5_malloc.c > +++ b/drivers/common/mlx5/mlx5_malloc.c > @@ -151,9 +151,14 @@ static void * > mlx5_alloc_align(size_t size, unsigned int align, unsigned int zero) > { > void *buf; > - buf =3D memalign(align, size); > - if (!buf) { > - DRV_LOG(ERR, "Couldn't allocate buf.\n"); > + int ret; > + > + ret =3D posix_memalign(&buf, align, size); > + if (ret) { > + DRV_LOG(ERR, > + "Couldn't allocate buf size=3D%zu align=3D%u. Err=3D%d\n", > + size, align, ret); > + > return NULL; > } > if (zero) > @@ -190,7 +195,7 @@ mlx5_malloc(uint32_t flags, size_t size, unsigned int > align, int socket) > return addr; > } > /* The memory will be allocated from system. */ > - if (align) > + if (align > MLX5_MALLOC_ALIGNMENT) > addr =3D mlx5_alloc_align(size, align, !!(flags & > MLX5_MEM_ZERO)); > else if (flags & MLX5_MEM_ZERO) > addr =3D calloc(1, size); > diff --git a/drivers/common/mlx5/mlx5_malloc.h > b/drivers/common/mlx5/mlx5_malloc.h > index d3e5f5b..8aea414 100644 > --- a/drivers/common/mlx5/mlx5_malloc.h > +++ b/drivers/common/mlx5/mlx5_malloc.h > @@ -9,6 +9,14 @@ > extern "C" { > #endif >=20 > +#ifndef MLX5_MALLOC_ALIGNMENT > +#ifndef RTE_ARCH_64 > +#define MLX5_MALLOC_ALIGNMENT 8 > +#else > +#define MLX5_MALLOC_ALIGNMENT 16 > +#endif > +#endif > + > enum mlx5_mem_flags { > MLX5_MEM_ANY =3D 0, > /* Memory will be allocated dpends on sys_mem_en. */ > -- > 2.8.4 Patch applied to next-net-mlx, Kindest regards, Raslan Darawsheh