env/dpdk: simplify checks for rte_power

dpdk_governor and gscheduler use rte_power,
which is only available on Linux and when
DPDK env is used.

Rather than repeat those checks in each mk or Makefile,
added DPDK_POWER flag directly to DPDK env.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I438caad8d333a4df697a79aa45de2930cce71d23
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12992
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: John Kariuki <John.K.Kariuki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
Tomasz Zawadzki 2022-06-02 09:42:58 +02:00
parent f961b32333
commit ec1d6fb71e
4 changed files with 6 additions and 10 deletions

View File

@ -35,7 +35,10 @@ DPDK_INC := -I$(DPDK_INC_DIR)
DPDK_LIB_LIST = rte_eal rte_mempool rte_ring rte_mbuf rte_bus_pci rte_pci rte_mempool_ring
DPDK_LIB_LIST += rte_telemetry rte_kvargs
DPDK_POWER=n
ifeq ($(OS),Linux)
DPDK_POWER=y
DPDK_LIB_LIST += rte_power rte_ethdev rte_net
endif

View File

@ -103,12 +103,10 @@ DEPDIRS-sock_uring := log sock util
# module/scheduler
DEPDIRS-scheduler_dynamic := event log thread util json
ifeq ($(SPDK_ROOT_DIR)/lib/env_dpdk,$(CONFIG_ENV))
ifeq ($(OS),Linux)
ifeq (y,$(DPDK_POWER))
DEPDIRS-scheduler_dpdk_governor := event log
DEPDIRS-scheduler_gscheduler := event log
endif
endif
# module/bdev
DEPDIRS-bdev_gpt := bdev json log thread util

View File

@ -94,11 +94,9 @@ ACCEL_MODULES_LIST += accel_dsa accel_iaa idxd
endif
SCHEDULER_MODULES_LIST = scheduler_dynamic
ifeq ($(SPDK_ROOT_DIR)/lib/env_dpdk,$(CONFIG_ENV))
ifeq ($(OS),Linux)
ifeq (y,$(DPDK_POWER))
SCHEDULER_MODULES_LIST += env_dpdk scheduler_dpdk_governor scheduler_gscheduler
endif
endif
EVENT_BDEV_SUBSYSTEM = event_bdev event_accel event_vmd event_sock

View File

@ -10,12 +10,9 @@ DIRS-y = dynamic
# Do not compile schedulers and governors based on DPDK env
# if non-DPDK env is used.
ENV_NAME := $(notdir $(CONFIG_ENV))
ifeq ($(ENV_NAME),env_dpdk)
ifeq ($(OS),Linux)
ifeq (y,$(DPDK_POWER))
DIRS-y += dpdk_governor gscheduler
endif
endif
.PHONY: all clean $(DIRS-y)