Closed lsf37 closed 10 months ago
After this is merged, I might try enabling this test for simulation again in a separate PR to see if it got any better. Although I don't really think it was this specific race condition that was the reason for failure there.
This should be enough to make it robust. If time_now() can't run within one time slice, there's something horribly wrong.
Decrease the chance that the monitor thread is preempted just when it has released the preemption threads, but before it has yielded itself. (If that happens, the preemption threads get two time slices.)
See also #42 -- the implementation here is basically @axel-h's suggestion from that issue.
We believe we might have seen an instance of this in one test run (of many) for PR seL4/seL4#968