minor optimization of the mail benchmark

This commit is contained in:
Stefan Lankes 2011-12-14 01:39:55 -08:00
parent dceb8485d9
commit 49ee4593d0
2 changed files with 9 additions and 10 deletions

View file

@ -100,12 +100,11 @@ static int foo(void* arg)
static int mail_ping(void* arg) { static int mail_ping(void* arg) {
int i; int i;
// icc_mail_ping(); for(i=0; i<5; ++i)
icc_mail_ping();
for( i=0; i<5; ++i ) { for(i=0; i<5; ++i)
icc_mail_ping_irq(); icc_mail_ping_irq();
icc_mail_ping_jitter(); //icc_mail_ping_jitter();
}
//icc_irq_ping(); //icc_irq_ping();
//icc_mail_datarates(); //icc_mail_datarates();
//icc_halt(); //icc_halt();
@ -429,7 +428,7 @@ int test_init(void)
//create_kernel_task(NULL, producer, , NORMAL_PRIO); //create_kernel_task(NULL, producer, , NORMAL_PRIO);
//create_kernel_task(NULL, consumer, NULL, NORMAL_PRIO); //create_kernel_task(NULL, consumer, NULL, NORMAL_PRIO);
create_kernel_task(NULL, mail_ping, NULL, NORMAL_PRIO); create_kernel_task(NULL, mail_ping, NULL, NORMAL_PRIO);
create_kernel_task(NULL, mail_noise, NULL, NORMAL_PRIO); //create_kernel_task(NULL, mail_noise, NULL, NORMAL_PRIO);
//create_kernel_task(NULL, svm_test, NULL, NORMAL_PRIO); //create_kernel_task(NULL, svm_test, NULL, NORMAL_PRIO);
//create_kernel_task(NULL, svm_bench, NULL, NORMAL_PRIO); //create_kernel_task(NULL, svm_bench, NULL, NORMAL_PRIO);
//create_kernel_task(NULL, pi, NULL, NORMAL_PRIO); //create_kernel_task(NULL, pi, NULL, NORMAL_PRIO);

View file

@ -297,8 +297,8 @@ int icc_halt(void)
} }
#define ROUNDS 20000 #define ROUNDS 20000
#define CORE_A 0 // sender #define CORE_A RC_RCCEID[0] // sender
#define CORE_B 25 // receiver #define CORE_B RC_RCCEID[30] // receiver
int icc_send_gic_irq(int core_num) { int icc_send_gic_irq(int core_num) {
volatile uint32_t* irq_request = (volatile uint32_t*)(FPGA_BASE+IRQ_REQUEST+RC_MY_COREID*8); volatile uint32_t* irq_request = (volatile uint32_t*)(FPGA_BASE+IRQ_REQUEST+RC_MY_COREID*8);
@ -346,7 +346,7 @@ int icc_mail_ping(void)
/* wait for response */ /* wait for response */
do { do {
res = iRCCE_mail_check(CORE_B); res = iRCCE_mail_check(iRCCE_MAILBOX_ALL); //CORE_B);
} while( res != iRCCE_SUCCESS ); } while( res != iRCCE_SUCCESS );
/* release mail */ /* release mail */
@ -357,7 +357,7 @@ int icc_mail_ping(void)
else { else {
/* wait for request */ /* wait for request */
do { do {
res = iRCCE_mail_check(CORE_A); res = iRCCE_mail_check(iRCCE_MAILBOX_ALL); //CORE_A);
} while( res != iRCCE_SUCCESS ); } while( res != iRCCE_SUCCESS );
/* check mail */ /* check mail */