new test scenario with all cores
This commit is contained in:
parent
b685c15f81
commit
f7ca4a2ef1
3 changed files with 62 additions and 12 deletions
|
@ -271,9 +271,9 @@ int icc_mail_ping( void )
|
|||
return 0;
|
||||
}
|
||||
|
||||
#define CORE_A 0
|
||||
#define CORE_B 1
|
||||
#define NOISE_ROUDNS 1000000
|
||||
#define CORE_A 0 // sender
|
||||
#define CORE_B RCCE_num_ues()-1 // receiver
|
||||
#define NOISE_ROUNDS 1000000
|
||||
|
||||
|
||||
int icc_mail_ping_irq( void )
|
||||
|
@ -283,12 +283,12 @@ int icc_mail_ping_irq( void )
|
|||
|
||||
uint32_t flags;
|
||||
uint64_t timer = 0;
|
||||
int rem_rank = (my_ue+1)%2;
|
||||
int rem_rank = CORE_B;
|
||||
int i;
|
||||
iRCCE_MAIL_HEADER* recv_header = NULL;
|
||||
|
||||
kprintf( "Hello from mail_ping_irq ... \n" );
|
||||
|
||||
kprintf( "rem_rank = %d\n", rem_rank );
|
||||
// disable interrupts
|
||||
flags = irq_nested_disable();
|
||||
|
||||
|
@ -305,7 +305,9 @@ int icc_mail_ping_irq( void )
|
|||
/* wait for response */
|
||||
do {
|
||||
iRCCE_mail_recv(&recv_header);
|
||||
} while( !recv_header );
|
||||
if( recv_header->tag == PING_RESP )
|
||||
break;
|
||||
} while( 1 );
|
||||
|
||||
/* release mail */
|
||||
iRCCE_mail_release(&recv_header);
|
||||
|
@ -338,14 +340,14 @@ int icc_mail_noise() {
|
|||
iRCCE_MAIL_HEADER* recv_mail = NULL;
|
||||
|
||||
// leave function if not participating
|
||||
if( (my_ue == 0) || (my_ue == 1) ) {
|
||||
if( (my_ue == CORE_A) || (my_ue == CORE_B) ) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
for( i=0; i<NOISE_ROUDNS; ++i ) {
|
||||
for( i=0; i<NOISE_ROUNDS; ++i ) {
|
||||
for( j=0; j<num_ranks; ++j ) {
|
||||
if ( (j == CORE_A) || (j == CORE_B) ) continue;
|
||||
iRCCE_mail_send(0, my_ue*rounds+j, 0, NULL, j);
|
||||
iRCCE_mail_send(0, my_ue*NOISE_ROUNDS+j, 0, NULL, j);
|
||||
iRCCE_mail_recv(&recv_mail);
|
||||
if( recv_mail ) iRCCE_mail_release(&recv_mail);
|
||||
}
|
||||
|
|
|
@ -90,7 +90,7 @@ static int STDCALL foo(void* arg)
|
|||
int STDCALL mail_ping(void* arg) {
|
||||
//icc_mail_ping();
|
||||
icc_mail_ping_irq();
|
||||
icc_mail_noise(); // generate noise in the mesh
|
||||
//icc_mail_noise(); // generate noise in the mesh
|
||||
icc_halt();
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -1,3 +1,51 @@
|
|||
# pid mch-route mch-dest-id mch-offset-base testcase
|
||||
0x00 0x00 6 0x00 metalsvm.obj
|
||||
0x01 0x00 6 0x01 metalsvm.obj
|
||||
0 metalsvm.obj
|
||||
1 metalsvm.obj
|
||||
2 metalsvm.obj
|
||||
3 metalsvm.obj
|
||||
4 metalsvm.obj
|
||||
5 metalsvm.obj
|
||||
6 metalsvm.obj
|
||||
7 metalsvm.obj
|
||||
8 metalsvm.obj
|
||||
9 metalsvm.obj
|
||||
10 metalsvm.obj
|
||||
11 metalsvm.obj
|
||||
12 metalsvm.obj
|
||||
13 metalsvm.obj
|
||||
14 metalsvm.obj
|
||||
15 metalsvm.obj
|
||||
16 metalsvm.obj
|
||||
17 metalsvm.obj
|
||||
18 metalsvm.obj
|
||||
19 metalsvm.obj
|
||||
20 metalsvm.obj
|
||||
21 metalsvm.obj
|
||||
22 metalsvm.obj
|
||||
23 metalsvm.obj
|
||||
24 metalsvm.obj
|
||||
25 metalsvm.obj
|
||||
26 metalsvm.obj
|
||||
27 metalsvm.obj
|
||||
28 metalsvm.obj
|
||||
29 metalsvm.obj
|
||||
30 metalsvm.obj
|
||||
31 metalsvm.obj
|
||||
32 metalsvm.obj
|
||||
33 metalsvm.obj
|
||||
34 metalsvm.obj
|
||||
35 metalsvm.obj
|
||||
36 metalsvm.obj
|
||||
37 metalsvm.obj
|
||||
38 metalsvm.obj
|
||||
39 metalsvm.obj
|
||||
40 metalsvm.obj
|
||||
41 metalsvm.obj
|
||||
42 metalsvm.obj
|
||||
43 metalsvm.obj
|
||||
44 metalsvm.obj
|
||||
45 metalsvm.obj
|
||||
46 metalsvm.obj
|
||||
47 metalsvm.obj
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue