#include <u.h>
#include <libc.h>
#include "mcslock.h"
enum {
N = 1 * 1000*1000,
};
Lock sem1;
uchar buffer[128];
enum {
Cacheline = 64,
};
int
max(int x, int y)
{
if(x>y)
return x;
return y;
}
void
thread(void)
{
int i;
for(i = 0; i < N; i++){
lock(&sem1);
unlock(&sem1);
}
}
void
main(void)
{
switch(rfork(RFPROC|RFMEM)){
case -1:
sysfatal("fork: %r");
case 0:
thread();
exits("");
default:
thread();
wait();
exits("");
}
}
|