Hello, I'm john, Currently doing work to reduce PCIe MSI interrupt latency.
When doing above things, I found out strange things that after executing my user-space application which use threads, PCIe MSI interrupt latency became shortened.
By result of 'vmstat' and 'cat /proc/interrupts', we found that after executing, arch_timer's interrupt increased tremendously which this timer's role is deliver interrupts to GIC.
So, we assume like the following.
1. After executing application, the number of context switching will be large.
2. Due to increment of context switching, low-power mode will become disable.
3. Because of disabling low-power mode, arch_timer will do their work without idle.
4. without idle, arch_timer's tick will increase normally which means delivering interrupts to SPI will work without idle.
5. PCIe MSI interrupt will arrive without latency.
I disabled 'arm,no-tick-in-suspend' on timer property in devicetree but same result.
I want to know above scenario is right and if right, I want to know how to disable low-power mode in imx8mq.
Thanks.
Hello @hello-world123
Then, the low-power mode will be enabled due to the increment of context switching.
So, It won't get disabled.
Thanks & Regards.
Sanket Parekh