projects
/
urcu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Build and run regression and unit tests as C++ programs
[urcu.git]
/
tests
/
common
/
api.h
diff --git
a/tests/common/api.h
b/tests/common/api.h
index 2b72ec5a485cd028cbe0c8f217047f61b84e1754..a260463ad09ea212bb7ee4517a2fd995f21b2d74 100644
(file)
--- a/
tests/common/api.h
+++ b/
tests/common/api.h
@@
-26,7
+26,6
@@
#include <urcu/compiler.h>
#include <urcu/arch.h>
#include <urcu/compiler.h>
#include <urcu/arch.h>
-#include "cpuset.h"
/*
* Machine parameters.
/*
* Machine parameters.
@@
-108,7
+107,7
@@
static void spin_unlock(spinlock_t *sp)
typedef pthread_t thread_id_t;
typedef pthread_t thread_id_t;
-#define NR_THREADS
128
+#define NR_THREADS
4096
#define __THREAD_ID_MAP_EMPTY ((thread_id_t) 0)
#define __THREAD_ID_MAP_WAITING ((thread_id_t) 1)
#define __THREAD_ID_MAP_EMPTY ((thread_id_t) 0)
#define __THREAD_ID_MAP_WAITING ((thread_id_t) 1)
@@
-166,7
+165,7
@@
static int smp_thread_id(void)
id = pthread_getspecific(thread_id_key);
if (id == NULL)
return __smp_thread_id();
id = pthread_getspecific(thread_id_key);
if (id == NULL)
return __smp_thread_id();
- return (
long)(
id - 1);
+ return (
(long)
id - 1);
}
static thread_id_t create_thread(void *(*func)(void *), void *arg)
}
static thread_id_t create_thread(void *(*func)(void *), void *arg)
@@
-229,25
+228,26
@@
static void wait_all_threads(void)
}
}
}
}
+#ifdef HAVE_SCHED_SETAFFINITY
static void run_on(int cpu)
{
static void run_on(int cpu)
{
-#if HAVE_SCHED_SETAFFINITY
cpu_set_t mask;
CPU_ZERO(&mask);
CPU_SET(cpu, &mask);
cpu_set_t mask;
CPU_ZERO(&mask);
CPU_SET(cpu, &mask);
-#if SCHED_SETAFFINITY_ARGS == 2
- sched_setaffinity(0, &mask);
-#else
sched_setaffinity(0, sizeof(mask), &mask);
sched_setaffinity(0, sizeof(mask), &mask);
-#endif
-#endif /* HAVE_SCHED_SETAFFINITY */
}
}
+#else
+
+static void run_on(int cpu __attribute__((unused)))
+{}
+#endif /* HAVE_SCHED_SETAFFINITY */
/*
* timekeeping -- very crude -- should use MONOTONIC...
*/
/*
* timekeeping -- very crude -- should use MONOTONIC...
*/
+static inline
long long get_microseconds(void)
{
struct timeval tv;
long long get_microseconds(void)
{
struct timeval tv;
This page took
0.022792 seconds
and
4
git commands to generate.