Commit b6dcfd00 authored by Scotty Bauer's avatar Scotty Bauer
Browse files

BetaModule and BetaModule2 **NOTICE PREVIOUS NUMBERS REPORTED IN COMMITS...


BetaModule and BetaModule2 **NOTICE PREVIOUS NUMBERS REPORTED IN COMMITS PREVIOUS TO THIS ONE ARE INCORRECT**

Ping pong of 10k messages. Both sides do _NOT_ check if there is a producer message slot avaiable to write, they just write into it. Timing is done PER message via serializing rdtsc and rdtscp.

Times:
TEST1
[ 1151.501229] MIN      MAX     AVG     MEDIAN
[ 1151.504313] 468 & 131184 & 513 & 504
TEST2
[ 1189.250206] MIN      MAX     AVG     MEDIAN
[ 1189.253377] 437 & 1358 & 478 & 474
TEST3
[ 1221.812533] MIN      MAX     AVG     MEDIAN
[ 1221.815580] 442 & 12420 & 500 & 498
Signed-off-by: Scotty Bauer's avatarScotty Bauer <sbauer@eng.utah.edu>
parent 044c9784
......@@ -245,7 +245,7 @@ static int ipc_thread_func(void *input)
//}
/* wait and get writer slot*/
wait_for_producer_slot(prod_msg, pTok);
//wait_for_producer_slot(prod_msg, pTok);
//imsg->message[0] = 'b';
//imsg->message[1] = 'e';
//imsg->message[2] = 't';
......
......@@ -277,7 +277,7 @@ static int ipc_thread_func(void *input)
//ptok = 0xC1346BAD;
//__builtin_prefetch(cons_msg, 1, 1);
wait_for_producer_slot(prod_msg, pTok);
//wait_for_producer_slot(prod_msg, pTok);
//imsg->message[0] = 'b';
//imsg->message[1] = 'e';
......@@ -300,14 +300,14 @@ static int ipc_thread_func(void *input)
}
#endif
end64 = RDTSCP();
prod_msg = get_next_available_slot(prod_channel, local_prod);
cons_msg = get_next_available_slot(cons_channel, local_cons);
count++;
end64 = RDTSCP();
#if defined(TIMING)
timekeeper[count] = (end64 - start64);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment