Re: [dpdk-dev] [PATCH v12 00/11] Add PMD power management
From: David Marchand <hidden>
Date: 2021-01-11 08:52:57
Subsystem:
library code, the rest · Maintainers:
Andrew Morton, Linus Torvalds
On Mon, Jan 11, 2021 at 9:44 AM David Marchand [off-list ref] wrote:
On Fri, Jan 8, 2021 at 5:42 PM Burakov, Anatoly [off-list ref] wrote:quoted
Why does aarch64 build fail there? The functions in question are in the version map file, but the build complains that they aren't.From what I can see, this series puts rte_power_* symbols in a .h. So it will be seen as symbols exported by any library including such a header. The check then complains about this as it sees exported symbols unknown of the library version.map.
Quick fix:
diff --git a/lib/librte_eal/arm/include/rte_power_intrinsics.hb/lib/librte_eal/arm/include/rte_power_intrinsics.h index 39e49cc45b..9e498e9ebf 100644
--- a/lib/librte_eal/arm/include/rte_power_intrinsics.h
+++ b/lib/librte_eal/arm/include/rte_power_intrinsics.h@@ -13,35 +13,6 @@ extern "C" { #include "generic/rte_power_intrinsics.h" -/** - * This function is not supported on ARM. - */ -void -rte_power_monitor(const struct rte_power_monitor_cond *pmc, - const uint64_t tsc_timestamp) -{ - RTE_SET_USED(pmc); - RTE_SET_USED(tsc_timestamp); -} - -/** - * This function is not supported on ARM. - */ -void -rte_power_pause(const uint64_t tsc_timestamp) -{ - RTE_SET_USED(tsc_timestamp); -} - -/** - * This function is not supported on ARM. - */ -void -rte_power_monitor_wakeup(const unsigned int lcore_id) -{ - RTE_SET_USED(lcore_id); -} - #ifdef __cplusplus } #endif
diff --git a/lib/librte_eal/arm/meson.build b/lib/librte_eal/arm/meson.build
index d62875ebae..6ec53ea03a 100644
--- a/lib/librte_eal/arm/meson.build
+++ b/lib/librte_eal/arm/meson.build@@ -7,4 +7,5 @@ sources += files( 'rte_cpuflags.c', 'rte_cycles.c', 'rte_hypervisor.c', + 'rte_power_intrinsics.c', )
diff --git a/lib/librte_eal/arm/rte_power_intrinsics.cb/lib/librte_eal/arm/rte_power_intrinsics.c new file mode 100644 index 0000000000..998f9898ad
--- /dev/null
+++ b/lib/librte_eal/arm/rte_power_intrinsics.c@@ -0,0 +1,31 @@ +#include <rte_common.h> +#include <rte_power_intrinsics.h> + +/** + * This function is not supported on ARM. + */ +void +rte_power_monitor(const struct rte_power_monitor_cond *pmc, + const uint64_t tsc_timestamp) +{ + RTE_SET_USED(pmc); + RTE_SET_USED(tsc_timestamp); +} + +/** + * This function is not supported on ARM. + */ +void +rte_power_pause(const uint64_t tsc_timestamp) +{ + RTE_SET_USED(tsc_timestamp); +} + +/** + * This function is not supported on ARM. + */ +void +rte_power_monitor_wakeup(const unsigned int lcore_id) +{ + RTE_SET_USED(lcore_id); +}
HTH. -- David Marchand