sim: Increased priority of loop task. #6689
Merged
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.
Summary
In simulator there is the loop task that performs various house-keeping functions.
It mostly emulates functions that normally would happen in interrupts.
This task was assigned a very low priority, so house-keeping was taking place if and when there was any idle time in the system.
In case of high load, it couldn't run.
This PR increases the loop task priority to max, as it is better suited for its interrupt-like role.
Impact
Simulator house-keeping tasks run more reliably and steadily, even in high load cases.
Testing
After the change I run the simulator and used my firmware. It seems that nothing is broken.
Simultaneously, I tested whether it fixes things.
I have a piece of code that looks like this:
This was not working before, as there was no idle CPU time for the loop task to operate (although it works on an actual hardware target).
After the change, I am able to receive bytes from the simulated serial port.