Draft
Conversation
19aaea0 to
17e9e8c
Compare
Contributor
Author
|
Running tests on all platforms internally with the updated kernel, will need the associated kernel changes merged first. |
pingerino
reviewed
Aug 7, 2020
| /* this test is disabled for the same reason as TIMEOUTFAULT0002 */ | ||
| DEFINE_TEST(TIMEOUTFAULT0003, "Nested timeout fault", test_timeout_fault_nested_servers, config_set(CONFIG_KERNEL_MCS)) | ||
|
|
||
| /* Test of invalid SC and no SC faults */ |
Contributor
There was a problem hiding this comment.
Did you consider adding test cases for where each of these scenarios doesn't have a fault handler? we want to make sure the thread still becomes inactive and the kernel doesn't die for some reason.
Contributor
Author
There was a problem hiding this comment.
I don't know of a way to effectively check that a thread isn't still running, but can certainly check that the kernel doesn't explode (or fail any asserts).
pingerino
approved these changes
Aug 7, 2020
17e9e8c to
db738cf
Compare
This moves the code that creates and binds a timeout endpoint from the function that creates a passive thread with a timeout endpoint into its own function such that it can be applied to active threads. Signed-off-by: Curtis Millar <curtis.millar@data61.csiro.au>
db738cf to
c31b457
Compare
Signed-off-by: Curtis Millar <curtis.millar@data61.csiro.au>
TIMEOUTFAULT0004: Fault on no donated SC When a passive thread receives an IPC and the sender has not used seL4_Call, the sender's SC is not donated and the receiver faults to indicate that it is running without a SC. TIMEOUTFAULT0005: Fault on client SC removed When a passive thread receives an IPC and the sender's SC has been removed while it is blocked, receiver faults to indicate that it is running without a SC. TIMEOUTFAULT0006: Fault on SC removed while running When a thread with an SC is running and its SC is removed, that thread faults. TIMEOUTFAULT0007: Fault on donated SC removed while running When a passive thread is running on a donated SC and that SC is unbound, the passive thread faults as it no longer has an SC. TIMEOUTFAULT0008: Fault on reply without SC return When a client makes a call that results in a nested call and a monitor replies to the first call, the client is not returned its SC, as such it faults. TIMEOUTFAULT0009: Fault on donation of unconfigured SC When a passive thread receives an IPC and the sender's SC has been replaced with an unconfigured SC while it is blocked, receiver faults to indicate that it is running with an unconfigured SC. Signed-off-by: Curtis Millar <curtis.millar@data61.csiro.au>
c31b457 to
f8a9475
Compare
nomadeel
approved these changes
Aug 19, 2020
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This adds tests for the changes in seL4/seL4#216.
TIMEOUTFAULT0004: Fault on no donated SC
When a passive thread receives an IPC and the sender has not used seL4_Call, the sender's SC is not donated and the receiver faults to indicate that it is running without a SC.
TIMEOUTFAULT0005: Fault on client SC removed
When a passive thread receives an IPC and the sender's SC has been removed while it is blocked, receiver faults to indicate that it is running without a SC.
TIMEOUTFAULT0006: Fault on SC removed while running
When a thread with an SC is running and its SC is removed, that thread faults.
TIMEOUTFAULT0007: Fault on donated SC removed while running
When a passive thread is running on a donated SC and that SC is unbound, the passive thread faults as it no longer has an SC.
TIMEOUTFAULT0008: Fault on reply without SC return
When a client makes a call that results in a nested call and a monitor replies to the first call, the client is not returned its SC, as such it faults.
TIMEOUTFAULT0009: Fault on donation of unconfigured SC
When a passive thread receives an IPC and the sender's SC has been replaced with an unconfigured SC while it is blocked, receiver faults to indicate that it is running with an unconfigured SC.