From: Hongbo Zhang <[email protected]> v4 -> v5 changes: - most obvious change is split some patches into even smaller patches and re-arange the sequency for convenience of review - change odp_cpu_id_*() to odp_cpu_*_id()
v3 -> v4 changes: - rebase to latest odp version - add odp_cpumask_available() to iterate each cpu v2 -> v3 changes: - move all CPU related API declaration into cpu.h - refine tests for per-CPU APIs - revise API for getting current frequency v1 -> v2 changes: - separate original 1/3 patch to two - add validation patch to test new APIs - other minor updates upon review comments v1 notes: The current API of getting CPU frequency is really ambiguous. CPU has its max frequency, and if enabled, the current frequency may be scaled from time to time, what's more, on some AMP platforms, cores are heterogenous, they have different max and current frequencies. This patch set cleans up these above issues. Patch 1/3 makes cpu_hz and model_str to be per-CPU data, then on AMP system, it is possible to acquire data for each different CPU. Patch 2/3 makes it clear that the cpu_hz stands for max CPU frequency Patch 3/3 adds new API to get the current CPU frequency if needed. Due to lack of test platform, only x86 platform is implemented right now, the others should follow up if this patch set is accepted. Hongbo Zhang (17): linux-generic: sysinfo: make the model_str per-CPU data linux-generic: sysinfo: make the cpu_hz per-CPU data api: sysinfo: move CPU model API to cpu.h api: sysinfo: move CPU Hz API to cpu.h api: sysinfo: add new API to get per-CPU model string api: sysinfo: add new API to get CPU max frequency api: sysinfo: add new API to get per-CPU max frequency api: sysinfo: revise odp_cpu_hz() to return current frequency api: sysinfo: add new API to get per-CPU current frequency api: cpumask: add API odp_cpumask_all_available() validation: system: update legacy CPU API names validation: system: add validation for new CPU APIs example: update CPU model string calling functions test: update CPU model string calling functions example: update CPU Hz calling functions test: update CPU Hz calling functions linux-generic: update CPU Hz calling functions example/classifier/odp_classifier.c | 4 +- example/generator/odp_generator.c | 2 +- example/ipsec/odp_ipsec.c | 2 +- example/packet/odp_pktio.c | 2 +- example/timer/odp_timer_test.c | 6 +- include/odp/api/cpu.h | 60 +++++++++ include/odp/api/cpumask.h | 10 ++ include/odp/api/system_info.h | 14 --- .../linux-generic/arch/linux/odp_time_cycles.c | 3 +- platform/linux-generic/include/odp_internal.h | 6 +- platform/linux-generic/odp_cpumask_task.c | 11 ++ platform/linux-generic/odp_system_info.c | 136 ++++++++++++++++----- platform/linux-generic/odp_time.c | 5 +- test/api_test/odp_common.c | 4 +- test/performance/odp_atomic.c | 4 +- test/performance/odp_l2fwd.c | 2 +- test/performance/odp_scheduling.c | 4 +- test/validation/system/system.c | 74 ++++++++++- test/validation/system/system.h | 8 +- 19 files changed, 283 insertions(+), 74 deletions(-) -- 1.9.1 _______________________________________________ lng-odp mailing list [email protected] https://lists.linaro.org/mailman/listinfo/lng-odp
