env/dpdk: skip build of DPDK based governors when missing rte_power

rte_power was added to DPDK long time ago,
but some of the DPDK packages do not include it.

For those cases just skip building components that depend on in.

This change still allows to use dynamic scheduler, since
the dpdk_governor usage is optional.

Fixes #2534

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: Ied88edc8d58aae07d1384c1c40203fc80b919d80
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12993
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Dong Yi <dongx.yi@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
Tomasz Zawadzki 2022-06-09 11:21:16 +02:00
parent ec1d6fb71e
commit 0f3ddc9c98
2 changed files with 10 additions and 2 deletions

View File

@ -38,9 +38,15 @@ DPDK_LIB_LIST += rte_telemetry rte_kvargs
DPDK_POWER=n
ifeq ($(OS),Linux)
# Despite rte_power was added DPDK 1.6,
# some DPDK packages do not include it. See #2534.
ifneq (, $(wildcard $(DPDK_LIB_DIR)/librte_power.*))
DPDK_POWER=y
# Since DPDK 21.02 rte_power depends on rte_ethdev that
# in turn depends on rte_net.
DPDK_LIB_LIST += rte_power rte_ethdev rte_net
endif
endif
# There are some complex dependencies when using crypto, reduce or both so
# here we add the feature specific ones and set a flag to add the common

View File

@ -8,10 +8,12 @@ include $(SPDK_ROOT_DIR)/mk/spdk.common.mk
DIRS-y = dynamic
# Do not compile schedulers and governors based on DPDK env
# if non-DPDK env is used.
# When DPDK rte_power is missing, do not compile schedulers
# and governors based on it.
ifeq (y,$(DPDK_POWER))
DIRS-y += dpdk_governor gscheduler
else
$(warning Skipping building dpdk_governor and gscheduler, due to missing rte_power)
endif
.PHONY: all clean $(DIRS-y)