Interrupt Delay

Interrupt delay can be divided into IPI interrupt delay and peripheral delay.

IPI Interrupt Delay

Due to the IPI interrupt needs to be sent through M-mode inter-core interrupts, it is necessary to switch to M-mode for transmission, which has a certain delay and is larger than the peripherals delay.

Run performance measurements in rpmsg_echo.c, and calculate the time for one rpmsg echo and more than 10 string round trip times in Linux user mode:
  • Test duration: Several hours
  • Frequency: 1.5GHz
  • Test times: More than 20000
  • One IPI round trip time: About 25us
  • Maximum delay: About 70us
Sending message #21998: hello there 21998!
Receiving message #21998: test this time 24000 ns, avg time 24785 ns, maxtime 69500 ns

UART Interrupt Delay

Test the RX delay of UART at 1.5GHz, from receive > interrupt > finish shell process receives characters, the whole process takes about 6us.