-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Uorb optimization3 #579
Uorb optimization3 #579
Conversation
99a11bb
to
e09df20
Compare
Pushed one more patch to orb_poll, which shaves off 1pp total execution time, from uxrce_dds client. The callback optimization shave off ~7pp |
ea5dc1a
to
9a99e08
Compare
just re-based to see if also the sitl tests pass now |
e1314e3
to
bf99598
Compare
bf99598
to
eb805a0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
There is something wrong with this; it just doesn't fly properly. Need to investigate more |
cf09b85
to
0a33c79
Compare
Did several cleanups, now it is flying good. The CPU savings are not so big as I hoped, but still around 5pp . But I think that the architecture around callbacks is also cleaner this way, so quite happy with this version. I removed the orb_poll changes and the dynamic priority changing; they just didn't prove effective. |
0a33c79
to
7d1b9f9
Compare
In protected builds, put all SubscriptionCallbacks into process specific lists, and in the callback thread execute them in a loop. Set the priority of the callback threads to the priority of nav_and_controllers+1, this should be always enough. It is currently very difficult to find the optimal value. Signed-off-by: Jukka Laitinen <[email protected]>
Signed-off-by: Jukka Laitinen <[email protected]>
7d1b9f9
to
e6bfe2c
Compare
Added some minor cleanups, tested again on default build, kernel build and sitl |
Signed-off-by: Jukka Laitinen <[email protected]>
This changes the way how uORB callbacks are executed;
Signalling the callback