minor thread/task priority adjustments #15327
Closed
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.
The goal here is to ensure consistent scheduling of the IMUs, immune to things like parameter update. Initially with the PX4 work queue the rate control (inner loop) thread was the highest priority to ensure it runs immediately when the primary gyro publishes.
With nearly all the sensor processing removed from the bus thread (now handled downstream in sensors) the actual cpu time spent in a driver is minimal (~10-20us) and overall it's slightly faster to let them always run to completion and avoid additional high rate context switching.
So overall there is a small increase in control latency (and potential jitter), but I consider it negligible.