patacongo edited a comment on issue #1133: URL: https://github.com/apache/incubator-nuttx/issues/1133#issuecomment-634279614
## Reduce Number of Registers Saved on Each Interrupt Here is another though of a way to improve ARMv7-M interrupt performance. This would improve interrupt performance be avoiding saving some registers unnecessarily. Here is an overview of ARMv7-M interrupt interrupt processing: 1. On interrupt, hardware saves some state and all C volatile registers. 2. _Save static registers_ in the interrupt handler 3. Dispatch interrupt via arm_doirq(); 4. if an context switch occurs, restore all registers of new thread and return from interrupt 5. Restore only the minimum register set and return from interrupt That could be improved as follows: 1. On interrupt, hardware saves some state and all C volatile registers. 2. Dispatch interrupt via arm_doirq(); 3. if an context switch occurs: (a) _save static registers_ then (b) restore all registers of the new thread and return from interrupt 5. Restore only the minimum register set and return from interrupt ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected]
