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 D2304A0526; Fri, 24 Jul 2020 15:48:28 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B98AA1C027; Fri, 24 Jul 2020 15:48:28 +0200 (CEST) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-eopbgr150041.outbound.protection.outlook.com [40.107.15.41]) by dpdk.org (Postfix) with ESMTP id 23D441C012 for ; Fri, 24 Jul 2020 15:48:28 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=R8k0kz5L0UAP+Lw09fg8BJyLGjEdpsLe3HC/Z5Pu5eUVZ1YWBdQ5W/KZcfnS6O3x1DQ3YrFU+TMzFdjco0YpMgzyEts3Zd6jCyGlSozPgRJM3mjqxdhEB2BEnlIGxVbUNk2QvnXd45Lyhazocrx74pCmKLqoiDdKO3F2BMLApt35q78n3abqCHK0tmGfkHpSym9HDmXGSp4SEAgn6WVaLE6uZSbi71RCtAz61lruN5iHW1w+FWvuGYK04rbTA9hNgiTaC/vexjnDHfYQaJXn+X9fxi9UQDr51rylcgVNnuGGdrk0pDn/DTvLpezFqxlsl5FYONq0UyiFBla7W3VIlg== 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=Jw5tXkZYzfWK1t+1YLELiirIydNeHu7JBcFoHgiqyU8=; b=OS6uY+pu0mr+DXVLDqAFoHv22kVcsqXZkX7dMFDQ/AoIGZ8SFizZNfzzWcDJS6RLWYEb33fdtHlOEkKkoFQozip2WFbZsmc3YKJFcJA/V/TRUuQ0PP8vFof1Xc4U/0sH37+/G94CLm8wWgc0T7NjDYIZhaXrCiFkCcBTzKk/2v8OTPG6a1RsJmevPqwKj5DRYKbqv5uNFc9jw6FeqtE5/hU9gSUT/5kEy1iN12sAQ0wfOZcThBhRu+WhEqATX39OmiDSvdfS2JUNrVxQ5ryPl+DnUJhxMqNOg2aT5wRoE26ThbkF0G5+2v2QhSZw4XCbQ2ytQcgmPgZl9rVy20s11w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none 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:X-MS-Exchange-SenderADCheck; bh=Jw5tXkZYzfWK1t+1YLELiirIydNeHu7JBcFoHgiqyU8=; b=RKYz5iZgnAJMNIK2AQToItUPYT1hlq72P0YjRJzlMFdGb+RkkEj2UYBnlBJ/nAshjjqfwVSlGe0meWV/Yn8jN+TMfSa5kM1S9YjOQA018ZGkxwTsfe00I5Agyis00xYG/J+BGESmy1z1QLGi8R3+qpwCpz44hBGftNVgbsHWaDw= Received: from AM0PR05MB4866.eurprd05.prod.outlook.com (2603:10a6:208:c0::32) by AM0PR0502MB3651.eurprd05.prod.outlook.com (2603:10a6:208:16::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3195.23; Fri, 24 Jul 2020 13:48:26 +0000 Received: from AM0PR05MB4866.eurprd05.prod.outlook.com ([fe80::eccf:72b3:bacb:f09d]) by AM0PR05MB4866.eurprd05.prod.outlook.com ([fe80::eccf:72b3:bacb:f09d%5]) with mapi id 15.20.3216.024; Fri, 24 Jul 2020 13:48:25 +0000 From: Parav Pandit To: Bruce Richardson CC: "dev@dpdk.org" , "grive@u256.net" , "ferruh.yigit@intel.com" , Thomas Monjalon , Raslan Darawsheh , Ori Kam , Matan Azrad , "joyce.kong@arm.com" Thread-Topic: [dpdk-dev] [PATCH v8 03/10] drivers: relax dependency order Thread-Index: AQHWYS0v/wbmxgA1t0ybPTrTM2yq66kWktYAgAAsyOA= Date: Fri, 24 Jul 2020 13:48:25 +0000 Message-ID: References: <20200610171728.89-2-parav@mellanox.com> <20200723200910.376581-1-parav@mellanox.com> <20200723200910.376581-4-parav@mellanox.com> <20200724110718.GB2305@bricha3-MOBL.ger.corp.intel.com> In-Reply-To: <20200724110718.GB2305@bricha3-MOBL.ger.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=mellanox.com; x-originating-ip: [106.51.108.81] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 98a3400f-cd99-450b-058a-08d82fd83d3c x-ms-traffictypediagnostic: AM0PR0502MB3651: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtFwd,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:5516; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: KhSak1o0RMvTyNN7mnCEL5Dikhgt/feQqjJV59Wl9lZhgyz4psk/Q24rEygZP76AV36YnMwtFP4+zP0xwC3jJBpHCBWsJ2HnSmJN3rFp+qLgTHb0JZnzcPIu1mUP8Sb53I4pqzCqetvXYn0fEd/U1sXimHu05vp6srcxIoAI0D+HGt6jeEg0L27MEC6gX3v7EP4spKC/TnEhCGi7BL+znzzeMxxFnKv/SHjpi24x5z6HqPvnmvYascjr4t0MGF3ZG0I84/UpQRs4fSX4Ba19Hx+cJtrCLJL7nJN16Ap+abnIdkbO8kZvdV4YnRFcDrK7KHBy06/w2RhoxSu5CDiYhw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR05MB4866.eurprd05.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(136003)(39860400002)(366004)(396003)(346002)(376002)(54906003)(2906002)(9686003)(7696005)(26005)(33656002)(4326008)(8676002)(186003)(478600001)(83380400001)(55236004)(5660300002)(76116006)(6506007)(66946007)(71200400001)(86362001)(66476007)(66556008)(66446008)(55016002)(8936002)(52536014)(316002)(6916009)(64756008); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: hmSadlLQVudxSW/+ugq0gfShUEVd3LpmSuG25RykA+ZLjuK76DMGRo7A3pg2Hj3E3+m5LYb2gpXfB4UG3Jc8pybo8si7UHENRGaP3w9Z1GQT/U0wlyH77GL2aiec0HOZv3CQKb5nKTCZmN0SUJGSbErnAYRILif1zZdX880Qkj1A6m34fehP6E6Mj3XBmTK/5J/2be4NVCALbM7KQtPXC2VF5jlVNYGkf0Wdmf2GIuZqiv6hvnteVn00HZvdWVEyEoz8VCuldlUPdExJ4NPKDo9WUjqRb9LNlTa2Qb6sUGcZWmhgFKjzRawz7CztQUS4iI/vHGFxRF0vqzFbT3epmZ1Stq7JuVZyA1pULG+so2buKwA3Sk/y7OS9/pRDI7uqN6m6kzBu2vrj18FQNa3pCHahxm83XuvM+jLREuTFuFr9VbfP3Y+IAwfrQz+SDMWL+/e6/wjQU9b8Uid/qngDM54SgCTr/fbbzIGmKhIe+GUUWHKm8z58RYKlPiBw7ESN Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AM0PR05MB4866.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 98a3400f-cd99-450b-058a-08d82fd83d3c X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jul 2020 13:48:25.8571 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: OhGPlxPIufoF1SYY60YTPgOghxHx1FLx0+t4pxJyXGoKIbpgPY0yYb2PRVJg0RsDxsmxbgvTfi4gS52vj7RBLQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0502MB3651 Subject: Re: [dpdk-dev] [PATCH v8 03/10] drivers: relax dependency order 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 Bruce, > From: Bruce Richardson > Sent: Friday, July 24, 2020 4:37 PM >=20 > On Thu, Jul 23, 2020 at 11:09:03PM +0300, Parav Pandit wrote: > > From: Thomas Monjalon > > > > Drivers dependencies are evaluated in the order defined per their > > parent directory (also called class). > > This strict ordering prevent from having 2 different drivers of the > > same class with different dependencies ordering. > > This problem occurs if drivers/common/mlx5 depends on drivers/bus/pci, > > while drivers/bus/dpaa depends on drivers/common/dpaax. > > Having a strict ordering between directories bus and common is too > > much restrictive. > > > > That's why it is made possible to have a more fine-grain directory > > list, adding a driver sub-directory in the list. > > In this case, the isolated driver must be removed from its class list, > > and added directly in drivers/meson.build. > > Also, the per-class variables must be duplicated in the isolated > > driver, because the call "subdir(class)" is skipped in the isolated dri= ver case. > > > > Signed-off-by: Thomas Monjalon >=20 > The commit log above has some strange word-wrapping, and occasionally > strange phrasing. I think it could be slightly reworded, perhaps as: >=20 I updated the commit log as you suggested below along with RB, ack tag. Thank you. > Drivers dependencies are evaluated in the order defined per their paren= t > directory (also called class). This strict ordering prevents from us > from having pairs of drivers from two classes with different dependency > ordering. For example, if the mlx5 common code depends on the pci bus > driver, while the dpaax common code is itself a dependency of the dpaa > bus driver. Having a strict ordering between directories bus and commo= n > is too restrictive, as processing either common drivers or bus drivers > first leads us to missing dependencies in this scenario. >=20 > This patch makes it possible to have a more fine-grain directory list, > adding a specific driver sub-directory in the top-level drivers > subdirectory list. In this case, the isolated driver must also be remov= ed > from its class list, and the per-class variables must be duplicated in > the isolated driver, because the call "subdir(class)" is skipped in the > isolated driver case. >=20 >=20 > Apart from that, I think this is a good idea to give us some flexibility = in > managing driver ordering which should help other drivers too - perhaps QA= T? > Ideally, though, I'd like if we can limit the flexible ordering to *only*= common > code, in which case we could move the per-class variables for common to t= he > top-level to prevent duplication, and maybe even get rid of > common/meson.build completely. That, however, will depend on how much > this feature gets used and by whom. >=20 > Therefore: > Review-by: Bruce Richardson > Acked-by: Bruce Richardson