Comment 15 for bug 1840511

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

From cpuinfo library:

#if defined(__ANDROID__) && !defined(CPU_SETSIZE)
    /*
     * Android NDK headers before platform 21 do not define CPU_SETSIZE,
     * so we hard-code its value, as defined in platform 21 headers
     */
    #if defined(__LP64__)
        static const uint32_t default_max_processors_count = 1024;
    #else
        static const uint32_t default_max_processors_count = 32;
    #endif
#else
    static const uint32_t default_max_processors_count = CPU_SETSIZE;
#endif

AND

#if !defined(__ANDROID__)
    /*
     * sched.h is only used for CPU_SETSIZE constant.
     * Android NDK headers before platform 21 do have this constant in sched.h
     */
    #include <sched.h>
#endif

and resolving includes, it gets CPU_SETSIZE (_CPU_SETSIZE) from:

x86_64-linux-gnu/bits/cpu-set.h:

/* Size definition for CPU sets. */
#define __CPU_SETSIZE 1024
#define __NCPUBITS (8 * sizeof (__cpu_mask))

And that leads to:

uint32_t cpuinfo_linux_get_max_processors_count(void) {
...
    cpuinfo_log_warning("using platform-default max processors count = %"PRIu32, default_max_processors_count);
...
}