forked from apache/nuttx
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
riscv/syscall: Optimize user service call performance
This patch changes how user service calls are executed: Instead of using the common interrupt logic, execute the user service call directly. Why? When a user makes a service call request, all of the service call parameters are already loaded into the correct registers, thus it makes no sense to first clobber them and then reload them, which is what the old logic does. It is much more effective to run the system call directly. During a user system call the interrupts must be re-enabled, which the new logic does as soon as we know the exception is a user service call request. This patch does NOT change the behavior of reserved system calls (like switch_context), only the user service call request is affected.
- Loading branch information
Showing
6 changed files
with
127 additions
and
219 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.