forked from genodelabs/genode
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Prior to this commit, whenever an external event occurred, for example timer or interrupt, the corresponding I/O signal handler was triggered. This handler unblocked the task waiting for the event and initiated the immediate execution of all unblocked tasks. Since these tasks may hit serialization points, e.g. synchronously waiting for packet stream operations, that require handling of other I/O signals this leads to nested execution. This, however, is not supported and mixes application and I/O level signal handling. The flagging of the scheduling intent is now decoupled from its execution by using an application level signal handler that is run in the context of the components main entrypoint. The I/O signal handler now triggers the scheduling execution by sending a local signal to the EP. Since it might be necessary to execute a pending schedule from the EP directly the scheduler is extended with the 'execute' member function that performs the check that the scheduler is called from within the EP and triggers the execution afterwards. Issue genodelabs#4927.
- Loading branch information
Showing
8 changed files
with
49 additions
and
16 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
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