This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSI Interrupt Latency

Hi,

in my application , the EP sends 200 interruptions to RC , but the problem is that the RC does not capture all interrupts ,  it receives only 160 !! 

I use task_sleep()  function that defines the number of cycles between two interruptions, and I try increase and decrease this time, but I do not always pick up 200.

EP routine :

VOID MsiTrigger() {
     INT32 i, j;

    /* Wait for link to be up */
     PCIe_WaitLinkUp(handle);

    System_printf("Link is up #EP.\n");

       for (j = 1; j <= 200; j++) {
                 Msiwrite();
                 Task_sleep(1);

                                               }

      exit(0);

}

can you give me an explanation of this problem please ?!

thank you,

Sincerely,

Zakaria.