summaryrefslogtreecommitdiffstats
path: root/src/cyclictest/cyclictest.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cyclictest/cyclictest.c')
-rw-r--r--src/cyclictest/cyclictest.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/cyclictest/cyclictest.c b/src/cyclictest/cyclictest.c
index b667c21..a975ef5 100644
--- a/src/cyclictest/cyclictest.c
+++ b/src/cyclictest/cyclictest.c
@@ -1696,7 +1696,9 @@ static void trigger_update(struct thread_param *par, int diff, int64_t ts)
void get_cpu_affinity(struct bitmask *cpus)
{
struct bitmask *bitmask = numa_allocate_cpumask();
-#if 0
+#if NUMA
+ numa_sched_getaffinity(0, bitmask);
+#else
int i, max_cpus = numa_num_configured_cpus();
cpu_set_t mask;
int ret = sched_getaffinity(0, sizeof(mask), &mask);
@@ -1712,10 +1714,9 @@ void get_cpu_affinity(struct bitmask *cpus)
numa_bitmask_setbit(bitmask, i);
}
}
-#else
- numa_sched_getaffinity(0, bitmask);
#endif
- cpus = bitmask;
+ /* copy the contents to our argument */
+ *cpus = *bitmask;
}
int main(int argc, char **argv)
@@ -1726,7 +1727,7 @@ int main(int argc, char **argv)
int max_cpus = sysconf(_SC_NPROCESSORS_ONLN);
int i, ret = -1;
int status;
- int numa = numa_available();
+ int numa = numa_available() == 0 ? 1 : 0;
get_cpu_affinity(&allowed_cpus);