From ec1d6fb71ed925758c6e4db1504b781c601ae8fc Mon Sep 17 00:00:00 2001 From: Tomasz Zawadzki Date: Thu, 2 Jun 2022 09:42:58 +0200 Subject: [PATCH] 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 Change-Id: I438caad8d333a4df697a79aa45de2930cce71d23 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12992 Community-CI: Mellanox Build Bot Community-CI: Broadcom CI Tested-by: SPDK CI Jenkins Reviewed-by: Konrad Sztyber Reviewed-by: John Kariuki Reviewed-by: Jim Harris --- lib/env_dpdk/env.mk | 3 +++ mk/spdk.lib_deps.mk | 4 +--- mk/spdk.modules.mk | 4 +--- module/scheduler/Makefile | 5 +---- 4 files changed, 6 insertions(+), 10 deletions(-) diff --git a/lib/env_dpdk/env.mk b/lib/env_dpdk/env.mk index ddf55f7d6..13acf8407 100644 --- a/lib/env_dpdk/env.mk +++ b/lib/env_dpdk/env.mk @@ -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 diff --git a/mk/spdk.lib_deps.mk b/mk/spdk.lib_deps.mk index 92d3d34f7..ad5ea481f 100644 --- a/mk/spdk.lib_deps.mk +++ b/mk/spdk.lib_deps.mk @@ -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 diff --git a/mk/spdk.modules.mk b/mk/spdk.modules.mk index 458616e01..284bf16a4 100644 --- a/mk/spdk.modules.mk +++ b/mk/spdk.modules.mk @@ -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 diff --git a/module/scheduler/Makefile b/module/scheduler/Makefile index d449cdc2c..2e2f8f8cd 100644 --- a/module/scheduler/Makefile +++ b/module/scheduler/Makefile @@ -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)