Message ID | 20230622150522.3228294-1-bruce.richardson@intel.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 191E942D1C; Thu, 22 Jun 2023 17:05:33 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9CA4D406B8; Thu, 22 Jun 2023 17:05:32 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id 4E9A6406A2 for <dev@dpdk.org>; Thu, 22 Jun 2023 17:05:31 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1687446331; x=1718982331; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=zsJB2RnedoBCa5Skh5pbDrgp3Yki3/CpzqZsOIawEIg=; b=AxFStTNYvuic4yYxOq+iv8FMUtHsysRUseiwVfCE3i1wO7jyMtcLww+a Tjt15Hi250kvkLEs69ATAFFoZ19yMV1Rj443V9pys3ZjeXJc7/gr91I6V 1++/mYexniBoy4uISY0n9Qv2KoKUnMODwXGrwDaqE4nlEb3hvKUj78uOn /GasAgHGQf8SFuctnfbRdjhoYuXQeqLwUTXCigpvNDEUfCUdMxAF80uwN ojkUVm9l6O2ue0T8gAWin8TaEONBWJ67RbmaZ2zllrSLbRxWv4bHRoYDs MOAlatH0VvTmQzQCeduCLzyrY6zD+97ybmYpN7baQaxhP4NhDFNjP9i4f w==; X-IronPort-AV: E=McAfee;i="6600,9927,10749"; a="340114215" X-IronPort-AV: E=Sophos;i="6.01,149,1684825200"; d="scan'208";a="340114215" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Jun 2023 08:05:30 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10749"; a="665100649" X-IronPort-AV: E=Sophos;i="6.01,149,1684825200"; d="scan'208";a="665100649" Received: from silpixa00401385.ir.intel.com ([10.237.214.166]) by orsmga003.jf.intel.com with ESMTP; 22 Jun 2023 08:05:28 -0700 From: Bruce Richardson <bruce.richardson@intel.com> To: dev@dpdk.org Cc: Bruce Richardson <bruce.richardson@intel.com> Subject: [PATCH v2 0/7] expand list of optional libraries Date: Thu, 22 Jun 2023 16:05:15 +0100 Message-Id: <20230622150522.3228294-1-bruce.richardson@intel.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230622134840.3225975-1-bruce.richardson@intel.com> References: <20230622134840.3225975-1-bruce.richardson@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org |
Series |
expand list of optional libraries
|
|
Message
Bruce Richardson
June 22, 2023, 3:05 p.m. UTC
DPDK still has many libraries which cannot be disabled as part of a build. With the ongoing work to make it easier to only build a subset of the libraries in DPDK, we can also work to expand the list of libraries which can be enabled/disabled as desired. This patch addresses a number of the "low-hanging fruit" libraries, where only the unit test builds need minor changes to support making the library optional. The rest of the build system is already well set up for selective disabling of libraries. For better support of enabling components, especially those more integrated into DPDK unit tests, rework of the test meson.build file is likely needed. For example, it could probably be better rewritten to use a dictionary of files and the dependencies of each file, and the unit test commands each provides. However, such rework is a significant effort, and outside the scope of this patchset. V2: fix checkpatch issues, since checkpatch doesn't like empty commit messages (even if the title is pretty self-explanatory!) Bruce Richardson (7): build: make most device classes optional build: make membership library optional build: make bpf library optional build: make efd library optional build: make distributor library optional build: make fragmentation library optional build: make reorder library optional app/test/meson.build | 81 +++++++++++++++++++++++++++----------------- lib/meson.build | 13 +++++++ 2 files changed, 63 insertions(+), 31 deletions(-) -- 2.39.2
Comments
On Thu, Jun 22, 2023 at 5:13 PM Bruce Richardson <bruce.richardson@intel.com> wrote: > > DPDK still has many libraries which cannot be disabled as part of a > build. With the ongoing work to make it easier to only build a subset > of the libraries in DPDK, we can also work to expand the list of > libraries which can be enabled/disabled as desired. > > This patch addresses a number of the "low-hanging fruit" libraries, > where only the unit test builds need minor changes to support > making the library optional. The rest of the build system is already > well set up for selective disabling of libraries. > > For better support of enabling components, especially those more > integrated into DPDK unit tests, rework of the test meson.build file > is likely needed. For example, it could probably be better rewritten > to use a dictionary of files and the dependencies of each file, and > the unit test commands each provides. However, such rework is a > significant effort, and outside the scope of this patchset. > > V2: fix checkpatch issues, since checkpatch doesn't like empty commit > messages (even if the title is pretty self-explanatory!) > > Bruce Richardson (7): > build: make most device classes optional > build: make membership library optional > build: make bpf library optional > build: make efd library optional > build: make distributor library optional > build: make fragmentation library optional > build: make reorder library optional > > app/test/meson.build | 81 +++++++++++++++++++++++++++----------------- > lib/meson.build | 13 +++++++ > 2 files changed, 63 insertions(+), 31 deletions(-) There is a trivial conflict on the main repo (after lib/graph change), so the CI did not run this v2 revision. The v1 looked fine but there was a strange error in Intel report: http://mails.dpdk.org/archives/test-report/2023-June/415672.html Could you rebase please?
On Fri, Jun 23, 2023 at 12:25 PM David Marchand <david.marchand@redhat.com> wrote: > > On Thu, Jun 22, 2023 at 5:13 PM Bruce Richardson > <bruce.richardson@intel.com> wrote: > > > > DPDK still has many libraries which cannot be disabled as part of a > > build. With the ongoing work to make it easier to only build a subset > > of the libraries in DPDK, we can also work to expand the list of > > libraries which can be enabled/disabled as desired. > > > > This patch addresses a number of the "low-hanging fruit" libraries, > > where only the unit test builds need minor changes to support > > making the library optional. The rest of the build system is already > > well set up for selective disabling of libraries. > > > > For better support of enabling components, especially those more > > integrated into DPDK unit tests, rework of the test meson.build file > > is likely needed. For example, it could probably be better rewritten > > to use a dictionary of files and the dependencies of each file, and > > the unit test commands each provides. However, such rework is a > > significant effort, and outside the scope of this patchset. > > > > V2: fix checkpatch issues, since checkpatch doesn't like empty commit > > messages (even if the title is pretty self-explanatory!) > > > > Bruce Richardson (7): > > build: make most device classes optional > > build: make membership library optional > > build: make bpf library optional > > build: make efd library optional > > build: make distributor library optional > > build: make fragmentation library optional > > build: make reorder library optional > > > > app/test/meson.build | 81 +++++++++++++++++++++++++++----------------- > > lib/meson.build | 13 +++++++ > > 2 files changed, 63 insertions(+), 31 deletions(-) > > There is a trivial conflict on the main repo (after lib/graph change), > so the CI did not run this v2 revision. > > The v1 looked fine but there was a strange error in Intel report: > http://mails.dpdk.org/archives/test-report/2023-June/415672.html Hum, we did not receive the ovsrobot report on v1 (not sure why), but looking at it manually, we have one failure too: https://github.com/ovsrobot/dpdk/actions/runs/5346924872/jobs/9694636520#step:18:219 This is because we ask for the l3fwd example but its dependencies are disabled.
On Fri, Jun 23, 2023 at 12:31:10PM +0200, David Marchand wrote: > On Fri, Jun 23, 2023 at 12:25 PM David Marchand > <david.marchand@redhat.com> wrote: > > > > On Thu, Jun 22, 2023 at 5:13 PM Bruce Richardson > > <bruce.richardson@intel.com> wrote: > > > > > > DPDK still has many libraries which cannot be disabled as part of a > > > build. With the ongoing work to make it easier to only build a subset > > > of the libraries in DPDK, we can also work to expand the list of > > > libraries which can be enabled/disabled as desired. > > > > > > This patch addresses a number of the "low-hanging fruit" libraries, > > > where only the unit test builds need minor changes to support > > > making the library optional. The rest of the build system is already > > > well set up for selective disabling of libraries. > > > > > > For better support of enabling components, especially those more > > > integrated into DPDK unit tests, rework of the test meson.build file > > > is likely needed. For example, it could probably be better rewritten > > > to use a dictionary of files and the dependencies of each file, and > > > the unit test commands each provides. However, such rework is a > > > significant effort, and outside the scope of this patchset. > > > > > > V2: fix checkpatch issues, since checkpatch doesn't like empty commit > > > messages (even if the title is pretty self-explanatory!) > > > > > > Bruce Richardson (7): > > > build: make most device classes optional > > > build: make membership library optional > > > build: make bpf library optional > > > build: make efd library optional > > > build: make distributor library optional > > > build: make fragmentation library optional > > > build: make reorder library optional > > > > > > app/test/meson.build | 81 +++++++++++++++++++++++++++----------------- > > > lib/meson.build | 13 +++++++ > > > 2 files changed, 63 insertions(+), 31 deletions(-) > > > > There is a trivial conflict on the main repo (after lib/graph change), > > so the CI did not run this v2 revision. > > I've already rebased and preparing a v3 > > The v1 looked fine but there was a strange error in Intel report: > > http://mails.dpdk.org/archives/test-report/2023-June/415672.html > > Hum, we did not receive the ovsrobot report on v1 (not sure why), but > looking at it manually, we have one failure too: > https://github.com/ovsrobot/dpdk/actions/runs/5346924872/jobs/9694636520#step:18:219 > > This is because we ask for the l3fwd example but its dependencies are disabled. > Spotted this too, and working on a solution. Three options I considered: 1. keep eventdev as mandatory 2. don't build l3fwd as part of examples list (or build only with eventdev) 3. make eventdev an optional dependency of l3fwd. I've gone for the latter (#3), which, though likely the more complicated change is probably the best one. L3fwd is such a commonly referenced app, I think it should be buildable in all configs, and I also think requiring eventdev in all cases seems wrong. V3 coming soon....