You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by GitBox <gi...@apache.org> on 2020/05/27 03:58:00 UTC

[GitHub] [incubator-nuttx] patacongo commented on issue #1133: Improved Back-to-Back Interrupt Performance

patacongo commented on issue #1133:
URL: https://github.com/apache/incubator-nuttx/issues/1133#issuecomment-634279614


   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:
users@infra.apache.org