projects
/
c11tester.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
b008782
)
userprog: tweak test program to use simple loads/stores
author
Brian Norris
<banorris@uci.edu>
Tue, 15 May 2012 17:19:08 +0000
(10:19 -0700)
committer
Brian Norris
<banorris@uci.edu>
Tue, 15 May 2012 17:19:08 +0000
(10:19 -0700)
userprog.c
patch
|
blob
|
history
diff --git
a/userprog.c
b/userprog.c
index ba0c867fd195c86b08cee679468f9a93624736a1..402cb0d29128aadef5cf67c71a8ca9cf976f4922 100644
(file)
--- a/
userprog.c
+++ b/
userprog.c
@@
-2,22
+2,26
@@
#include "libthreads.h"
#include "libatomic.h"
#include "libthreads.h"
#include "libatomic.h"
+#include "librace.h"
static void a(atomic_int *obj)
{
int i;
int ret;
static void a(atomic_int *obj)
{
int i;
int ret;
- for (i = 0; i < 10; i++) {
+ store_32(&i, 10);
+ printf("load 32 yields: %d\n", load_32(&i));
+
+ for (i = 0; i < 2; i++) {
printf("Thread %d, loop %d\n", thrd_current(), i);
switch (i % 4) {
case 1:
ret = atomic_load(obj);
printf("Read value: %d\n", ret);
break;
printf("Thread %d, loop %d\n", thrd_current(), i);
switch (i % 4) {
case 1:
ret = atomic_load(obj);
printf("Read value: %d\n", ret);
break;
- case
3
:
- atomic_store(obj, i);
- printf("Write value: %d\n", i);
+ case
0
:
+ atomic_store(obj, i
+ 1
);
+ printf("Write value: %d\n", i
+ 1
);
break;
}
}
break;
}
}