diff --git a/arch/x86/scc/iRCCE_mailbox.c b/arch/x86/scc/iRCCE_mailbox.c index 76424287..4fb439fa 100644 --- a/arch/x86/scc/iRCCE_mailbox.c +++ b/arch/x86/scc/iRCCE_mailbox.c @@ -218,7 +218,6 @@ int iRCCE_mail_check(int sender) { /* disable interrupts */ flags = irq_nested_disable(); - // verify sender's ID @@ -227,7 +226,10 @@ int iRCCE_mail_check(int sender) { iRCCE_mailbox_check(); return 0; } - + + /* enable interrupts */ + irq_nested_enable(flags); + return iRCCE_ERROR_ID; } @@ -250,7 +252,6 @@ int iRCCE_mail_check(int sender) { return iRCCE_MAILBOX_EMPTY; } - /* enable interrupts */ irq_nested_enable(flags); } @@ -291,8 +292,6 @@ int iRCCE_mail_recv( /* disable interrupts */ flags = irq_nested_disable(); - - help_header = iRCCE_mailbox_recv_queue[i].first; iRCCE_mailbox_recv_queue[i].first = diff --git a/arch/x86/scc/icc.c b/arch/x86/scc/icc.c index a3571905..c42c4fc4 100644 --- a/arch/x86/scc/icc.c +++ b/arch/x86/scc/icc.c @@ -238,7 +238,7 @@ int icc_halt(void) return 0; } -#define ROUNDS 10000 +#define ROUNDS 100000 #define CORE_A 0 // sender #define CORE_B 4 // receiver @@ -282,7 +282,7 @@ static inline void icc_mail_check_tag(iRCCE_MAIL_HEADER* mail) { break; case NOISE: - kprintf( "XXX " ); +// kprintf( "XXX " ); default: // kprintf( "icc_mail_check_tag: uknown tag id %d\n", mail->tag ); break; @@ -412,8 +412,8 @@ int icc_mail_ping_irq( void ) timer = rdtsc() - timer; kprintf( "timer = %d\n", timer ); - kprintf( "mail_pingpong needs in average %d msec (%d ticks)!\n", - timer/(2*ROUNDS*533), timer/(2*ROUNDS) ); + kprintf( "mail_pingpong needs in average %d nsec (%d ticks)!\n", + timer*1000/(2*ROUNDS*533), timer/(2*ROUNDS) ); irq_nested_enable(flags); @@ -439,15 +439,15 @@ int icc_mail_noise() { kprintf( "Hello from icc_mail_noise: my_ue = %d\n", my_ue ); kprintf( "num_ues = %d\n", num_ranks ); int count = 0; - for( ;; ) { - kprintf( "SEND NOISE - " ); + for( ;; ++count ) { + if( !(count%1000) ) kprintf( "STILL ALIVE! " ); /* send a mail to each UE */ for( j=0; j