X-Git-Url: http://plrg.eecs.uci.edu/git/?p=model-checker-benchmarks.git;a=blobdiff_plain;f=ms-queue%2Fmain.c;h=30d9da9c79a01080ebfa7de156d04cfa98a99c47;hp=015fbd4c7737175294b9952b697558dca7bf66af;hb=509ce2ac5c3372c0527e4b66d1088bcdd7b94cdf;hpb=7df8191c93d3664a3b1ea2dfcd0e88de2cfcc7c9;ds=sidebyside diff --git a/ms-queue/main.c b/ms-queue/main.c index 015fbd4..30d9da9 100644 --- a/ms-queue/main.c +++ b/ms-queue/main.c @@ -1,78 +1,52 @@ #include "main.h" #include -#define NUM_PROCESSORS 12 - -struct tms tim; -struct tms tim1; - -int shmid; - -unsigned pid; -char* name = ""; -unsigned procs = 1; -unsigned multi = 1; +unsigned procs = 2; unsigned iterations = 1; -unsigned initial_nodes = 0; -unsigned repetitions = 1; -unsigned work = 0; private_t private; shared_mem_t *smp; -void time_test() +static void main_task(void *param) { - unsigned i,j; - struct tms time_val; - clock_t t1, t2; + unsigned i, j; unsigned val; + int pid = *((int *)param); - if(pid==0) { - init_queue(); - } init_memory(); - init_private(); - for(i=0;i>1))/(procs*multi); + iterations = (iterations + (procs >> 1)) / procs; smp = (shared_mem_t *)calloc(1, sizeof(shared_mem_t)); assert(smp); - num_threads = procs * multi; + num_threads = procs; t = malloc(num_threads * sizeof(thrd_t)); + param = malloc(num_threads * sizeof(*param)); - for (i = 0; i < num_threads; i++) - thrd_create(&t[i], main_task, NULL); + init_queue(); + for (i = 0; i < num_threads; i++) { + param[i] = i; + thrd_create(&t[i], main_task, ¶m[i]); + } for (i = 0; i < num_threads; i++) thrd_join(t[i]); + free(param); free(t); free(smp);