mirror of
https://github.com/MariaDB/server.git
synced 2025-01-22 23:04:20 +01:00
#2513 rewrite the computation of the number of cpus refs[t:2513]
git-svn-id: file:///svn/toku/tokudb@24901 c7de825b-a66e-492c-adef-691d508d4ae1
This commit is contained in:
parent
17eccfed9b
commit
22ae678c4a
1 changed files with 18 additions and 14 deletions
|
@ -62,23 +62,27 @@ toku_os_get_number_active_processors(void) {
|
|||
#define DO_AFFINITY 1
|
||||
#if DO_AFFINITY
|
||||
#include <sched.h>
|
||||
cpu_set_t cpuset;
|
||||
int r = sched_getaffinity(getpid(), sizeof cpuset, &cpuset);
|
||||
assert(r == 0);
|
||||
int nn = 0;
|
||||
for (unsigned i = 0; i < 8 * sizeof cpuset; i++)
|
||||
if (CPU_ISSET(i, &cpuset))
|
||||
nn++;
|
||||
assert(nn <= n);
|
||||
n = nn;
|
||||
{
|
||||
cpu_set_t cpuset;
|
||||
int r = sched_getaffinity(getpid(), sizeof cpuset, &cpuset);
|
||||
assert(r == 0);
|
||||
int ncpus = 0;
|
||||
for (unsigned i = 0; i < 8 * sizeof cpuset; i++)
|
||||
if (CPU_ISSET(i, &cpuset))
|
||||
ncpus++;
|
||||
assert(ncpus <= n);
|
||||
n = ncpus;
|
||||
}
|
||||
#endif
|
||||
#define DO_TOKU_NCPUS 1
|
||||
#if DO_TOKU_NCPUS
|
||||
char *toku_ncpus = getenv("TOKU_NCPUS");
|
||||
if (toku_ncpus) {
|
||||
int ncpus = atoi(toku_ncpus);
|
||||
if (ncpus < n)
|
||||
n = ncpus;
|
||||
{
|
||||
char *toku_ncpus = getenv("TOKU_NCPUS");
|
||||
if (toku_ncpus) {
|
||||
int ncpus = atoi(toku_ncpus);
|
||||
if (ncpus < n)
|
||||
n = ncpus;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
return n;
|
||||
|
|
Loading…
Add table
Reference in a new issue