This patch series replaces the patches previously submitted with subjects: ODP API: add control/worker cpumasks to init data -and- linux-generic: add support for initial cpumasks
The addition of the ability for ODP to accept control and worker cpumasks from external sources is impacted by the code for fixing Linaro BUG 2027 <https://bugs.linaro.org/show_bug.cgi?id=2027>. Consequently I have added the BUG 2027 fix patches to this API change as prerequisites. The modifications presented here accomplish the following: (1) fix the validation and performance tests as needed in order to prevent hanging in barrier-wait due to deprecated means of determining the number of CPUs available for worker threads (2) replace the 'CPU affinity' based methods of determining the set of installed CPUs with logic which works regardless of the isolation / NO_HZ_FULL support in the underlying kernel (3) default to reasonable non-overlapping control and worker cpumasks conforming to suggestions from Petri S. (4) extend the ODP API to add control and worker cpumasks to the initialization data recognized by odp_init_global() -and- (5) allow externally specified control and/or worker cpumasks to safely override the default cpumask settings when odp_init_global() is called The new initialization odp_cpumask_t pointers have been given 'const' qualifiers in order to make it clear that the cpumasks are not to be modified by any functions receiving them as parameters. Gary S. Robertson (5): test: correct worker count calculation test: allow more than one control cpu linux-generic: Make cpu detection work with NO_HZ_FULL api: init: add control/worker cpumasks to init data linux-generic: add support for initial cpumasks include/odp/api/spec/init.h | 27 +++ platform/linux-generic/include/odp_internal.h | 7 + platform/linux-generic/odp_cpumask.c | 275 ++++++++++++++++++++++++++ platform/linux-generic/odp_cpumask_task.c | 70 ++++--- platform/linux-generic/odp_init.c | 9 +- platform/linux-generic/odp_system_info.c | 13 +- test/validation/cpumask/cpumask.c | 2 +- test/validation/shmem/shmem.c | 3 +- test/validation/timer/timer.c | 18 +- 9 files changed, 376 insertions(+), 48 deletions(-) -- 1.9.1 _______________________________________________ lng-odp mailing list [email protected] https://lists.linaro.org/mailman/listinfo/lng-odp
