util: try to fix the Android and MacOS build
Bionic does not have pthread_setaffinity_np. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107869 Reviewed-by: Jose Fonseca <jfonseca@vmware.com> Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
This commit is contained in:
parent
6f00785765
commit
9f1bbbdbbd
|
@ -36,6 +36,9 @@
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(HAVE_PTHREAD) && !defined(ANDROID) && !defined(__APPLE__)
|
||||||
|
#define HAVE_PTHREAD_SETAFFINITY
|
||||||
|
#endif
|
||||||
|
|
||||||
static inline thrd_t u_thread_create(int (*routine)(void *), void *param)
|
static inline thrd_t u_thread_create(int (*routine)(void *), void *param)
|
||||||
{
|
{
|
||||||
|
@ -83,7 +86,7 @@ static inline void u_thread_setname( const char *name )
|
||||||
static inline void
|
static inline void
|
||||||
util_pin_thread_to_L3(thrd_t thread, unsigned L3_index, unsigned cores_per_L3)
|
util_pin_thread_to_L3(thrd_t thread, unsigned L3_index, unsigned cores_per_L3)
|
||||||
{
|
{
|
||||||
#if defined(HAVE_PTHREAD)
|
#if defined(HAVE_PTHREAD_SETAFFINITY)
|
||||||
cpu_set_t cpuset;
|
cpu_set_t cpuset;
|
||||||
|
|
||||||
CPU_ZERO(&cpuset);
|
CPU_ZERO(&cpuset);
|
||||||
|
@ -103,7 +106,7 @@ util_pin_thread_to_L3(thrd_t thread, unsigned L3_index, unsigned cores_per_L3)
|
||||||
static inline int
|
static inline int
|
||||||
util_get_L3_for_pinned_thread(thrd_t thread, unsigned cores_per_L3)
|
util_get_L3_for_pinned_thread(thrd_t thread, unsigned cores_per_L3)
|
||||||
{
|
{
|
||||||
#if defined(HAVE_PTHREAD)
|
#if defined(HAVE_PTHREAD_SETAFFINITY)
|
||||||
cpu_set_t cpuset;
|
cpu_set_t cpuset;
|
||||||
|
|
||||||
if (pthread_getaffinity_np(thread, sizeof(cpuset), &cpuset) == 0) {
|
if (pthread_getaffinity_np(thread, sizeof(cpuset), &cpuset) == 0) {
|
||||||
|
|
Loading…
Reference in New Issue