projects
/
urcu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Install test scripts in the dist tarball
[urcu.git]
/
tests
/
test_mutex.c
diff --git
a/tests/test_mutex.c
b/tests/test_mutex.c
index 7b2d1a53a2c79540b9e4f02f23d65372d3179031..3f84bbfa06fa6c280a0896e4072bdf9ce41b4a6f 100644
(file)
--- a/
tests/test_mutex.c
+++ b/
tests/test_mutex.c
@@
-31,12
+31,15
@@
#include <unistd.h>
#include <stdio.h>
#include <assert.h>
#include <unistd.h>
#include <stdio.h>
#include <assert.h>
-#include <sys/syscall.h>
#include <sched.h>
#include <errno.h>
#include <urcu/arch.h>
#include <sched.h>
#include <errno.h>
#include <urcu/arch.h>
+#ifdef __linux__
+#include <syscall.h>
+#endif
+
/* hardcoded number of CPUs */
#define NR_CPUS 16384
/* hardcoded number of CPUs */
#define NR_CPUS 16384
@@
-85,7
+88,7
@@
static unsigned long wduration;
static inline void loop_sleep(unsigned long l)
{
while(l-- != 0)
static inline void loop_sleep(unsigned long l)
{
while(l-- != 0)
- cpu_relax();
+ c
aa_c
pu_relax();
}
static int verbose_mode;
}
static int verbose_mode;
@@
-156,9
+159,9
@@
static unsigned long long __thread nr_writes;
static unsigned long long __thread nr_reads;
static
static unsigned long long __thread nr_reads;
static
-unsigned long long __attribute__((aligned(CACHE_LINE_SIZE))) *tot_nr_writes;
+unsigned long long __attribute__((aligned(CA
A_CA
CHE_LINE_SIZE))) *tot_nr_writes;
static
static
-unsigned long long __attribute__((aligned(CACHE_LINE_SIZE))) *tot_nr_reads;
+unsigned long long __attribute__((aligned(CA
A_CA
CHE_LINE_SIZE))) *tot_nr_reads;
static unsigned int nr_readers;
static unsigned int nr_writers;
static unsigned int nr_readers;
static unsigned int nr_writers;
@@
-202,11
+205,11
@@
void *thr_reader(void *data)
for (;;) {
pthread_mutex_lock(&lock);
assert(test_array.a == 8);
for (;;) {
pthread_mutex_lock(&lock);
assert(test_array.a == 8);
- if (unlikely(rduration))
+ if (
caa_
unlikely(rduration))
loop_sleep(rduration);
pthread_mutex_unlock(&lock);
nr_reads++;
loop_sleep(rduration);
pthread_mutex_unlock(&lock);
nr_reads++;
- if (unlikely(!test_duration_read()))
+ if (
caa_
unlikely(!test_duration_read()))
break;
}
break;
}
@@
-229,19
+232,19
@@
void *thr_writer(void *data)
while (!test_go)
{
}
while (!test_go)
{
}
- smp_mb();
+
cmm_
smp_mb();
for (;;) {
pthread_mutex_lock(&lock);
test_array.a = 0;
test_array.a = 8;
for (;;) {
pthread_mutex_lock(&lock);
test_array.a = 0;
test_array.a = 8;
- if (unlikely(wduration))
+ if (
caa_
unlikely(wduration))
loop_sleep(wduration);
pthread_mutex_unlock(&lock);
nr_writes++;
loop_sleep(wduration);
pthread_mutex_unlock(&lock);
nr_writes++;
- if (unlikely(!test_duration_write()))
+ if (
caa_
unlikely(!test_duration_write()))
break;
break;
- if (unlikely(wdelay))
+ if (
caa_
unlikely(wdelay))
loop_sleep(wdelay);
}
loop_sleep(wdelay);
}
@@
-278,7
+281,7
@@
int main(int argc, char **argv)
show_usage(argc, argv);
return -1;
}
show_usage(argc, argv);
return -1;
}
- smp_mb();
+
cmm_
smp_mb();
err = sscanf(argv[1], "%u", &nr_readers);
if (err != 1) {
err = sscanf(argv[1], "%u", &nr_readers);
if (err != 1) {
@@
-376,7
+379,7
@@
int main(int argc, char **argv)
exit(1);
}
exit(1);
}
- smp_mb();
+
cmm_
smp_mb();
test_go = 1;
test_go = 1;
This page took
0.023925 seconds
and
4
git commands to generate.