diff --git a/arch/x86/scc/iRCCE_mailbox.c b/arch/x86/scc/iRCCE_mailbox.c index ff4e0e3e..05656136 100644 --- a/arch/x86/scc/iRCCE_mailbox.c +++ b/arch/x86/scc/iRCCE_mailbox.c @@ -440,10 +440,6 @@ int iRCCE_mail_send( (void*)&header, RCCE_LINE_SIZE ); RC_cache_invalidate(); - iRCCE_MAIL_HEADER test_header; - iRCCE_memcpy_get( (void*)&test_header, (void*)iRCCE_mailbox_send[dest], RCCE_LINE_SIZE ); - iRCCE_mailbox_print_header(&test_header); - kprintf( "'######" ); // set senders flag RC_cache_invalidate(); @@ -451,9 +447,6 @@ int iRCCE_mail_send( *(int *)RCCE_fool_write_combine_buffer = 1; RC_cache_invalidate(); - iRCCE_memcpy_get( (void*)&test_header, (void*)iRCCE_mailbox_send[dest], RCCE_LINE_SIZE ); - iRCCE_mailbox_print_header(&test_header); - RCCE_release_lock( dest ); /* enable interrupts */ diff --git a/arch/x86/scc/icc.c b/arch/x86/scc/icc.c index eba075d4..85910a9a 100644 --- a/arch/x86/scc/icc.c +++ b/arch/x86/scc/icc.c @@ -228,7 +228,7 @@ int icc_halt(void) return 0; } -#define ROUNDS 1000 +#define ROUNDS 10000 #define CORE_A 0 // sender #define CORE_B 1 // receiver @@ -264,7 +264,6 @@ static inline void icc_mail_check_tag(iRCCE_MAIL_HEADER* mail) { break; case PING_REQ: - kprintf( "icc_mail_check_tag: ping_req\n" ); iRCCE_mail_send(0, PING_RESP, 0, NULL, mail->source); break; @@ -383,13 +382,16 @@ int icc_mail_ping_irq( void ) res = iRCCE_mail_check(rem_rank); } while( res != iRCCE_SUCCESS ); + recv_header = NULL; /* release mail */ do { if( recv_header ) iRCCE_mail_release(&recv_header); res = iRCCE_mail_recv(&recv_header); } while( (recv_header->source != rem_rank) && (recv_header->tag == PING_RESP) ); + + if( !(i%1000) ) kprintf( "%d ", i ); iRCCE_mail_release(&recv_header); /* start timer in first round */ @@ -400,7 +402,7 @@ int icc_mail_ping_irq( void ) /* stop timer */ timer = rdtsc() - timer; - kprintf( "timer = %ld\n", timer ); + kprintf( "timer = %d\n", timer ); kprintf( "mail_pingpong needs in average %d msec (%d ticks)!\n", timer/(2*ROUNDS*533), timer/(2*ROUNDS) ); @@ -416,7 +418,7 @@ int icc_mail_noise() { iRCCE_MAIL_HEADER* recv_mail = NULL; // leave function if not participating - if( (my_ue == CORE_A) /*|| (my_ue == CORE_B)*/ ) { + if( (my_ue == CORE_A) /*|| (my_ue == CORE_B) */) { return -1; } @@ -425,7 +427,7 @@ int icc_mail_noise() { for( ;; ) { /* send a mail to each UE */ for( j=0; j