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

Make event queue use RTOS tick count #6693

Merged
merged 1 commit into from Apr 27, 2018

Conversation

Projects
None yet
6 participants
@kjbracey-arm
Contributor

kjbracey-arm commented Apr 20, 2018

Description

Event queue was using its own Timer or LowPowerTimer objects to derive millisecond tick counts. This is unnecessary in RTOS builds, where the RTOS is maintaining a tick count.

It also makes more sense to use the actual RTOS tick count, as the values are being used to compute tick timeouts for RTOS calls. Computing these RTOS tick delays with a separate timer could conceivably lead to rounding errors.

Fixes: #5378
See also: #6653 and #6698

Pull request type

[ ] Fix
[X] Refactor
[ ] New target
[ ] Feature
[ ] Breaking change

@kjbracey-arm kjbracey-arm requested a review from geky Apr 20, 2018

@kjbracey-arm

This comment has been minimized.

Contributor

kjbracey-arm commented Apr 20, 2018

FYI @kivaisan

Make event queue use RTOS tick count
Event queue was using its own Timer or LowPowerTimer objects to derive
millisecond tick counts. This is unnecessary in RTOS builds, where the
RTOS is maintaining a tick count.

It also makes more sense to use the actual RTOS tick count, as the
values are being used to compute tick timeouts for RTOS calls. Computing
these RTOS tick delays with a separate timer could conceivably lead to
rounding errors.

Fixes: #5378

@kjbracey-arm kjbracey-arm force-pushed the kjbracey-arm:equeue-ticks branch from 5d99a13 to d979c59 Apr 20, 2018

@0xc0170 0xc0170 requested a review from SenRamakri Apr 20, 2018

@@ -23,7 +23,7 @@
"value": 256
},
"use-lowpower-timer-ticker": {
"help": "Enable use of low power timer and ticker classes. May reduce the accuracy of the event queue.",
"help": "Enable use of low power timer and ticker classes in non-RTOS builds. May reduce the accuracy of the event queue. In RTOS builds, the RTOS tick count is used, and this configuration option has no effect.",

This comment has been minimized.

@geky

geky Apr 20, 2018

Member

So is there a "lowpower timer" option for the RTOS? (@bulislaw?)

If so we should probably note that here

@geky

This comment has been minimized.

Member

geky commented Apr 20, 2018

@MikeDK fyi

@geky

geky approved these changes Apr 20, 2018

Looks good to me

@0xc0170

This comment has been minimized.

Member

0xc0170 commented Apr 25, 2018

/morph build

@mbed-ci

This comment has been minimized.

mbed-ci commented Apr 25, 2018

Build : SUCCESS

Build number : 1851
Build artifacts/logs : http://mbed-os.s3-website-eu-west-1.amazonaws.com/?prefix=builds/6693/

Triggering tests

/morph test
/morph uvisor-test
/morph export-build
/morph mbed2-build

@mbed-ci

This comment has been minimized.

@mbed-ci

This comment has been minimized.

@cmonr cmonr merged commit c8d72c5 into ARMmbed:master Apr 27, 2018

12 checks passed

AWS-CI uVisor Build & Test Success
Details
ci-morph-build build completed
Details
ci-morph-exporter build completed
Details
ci-morph-mbed2-build build completed
Details
ci-morph-test test completed
Details
continuous-integration/jenkins/pr-head This commit looks good
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
travis-ci/docs Local docs testing has passed
Details
travis-ci/events Passed, runtime is 9989 cycles (+1047 cycles)
Details
travis-ci/gitattributestest Local gitattributestest testing has passed
Details
travis-ci/littlefs Passed, code size is 10112B (+0.00%)
Details
travis-ci/tools Local tools testing has passed
Details

@cmonr cmonr removed the ready for merge label Apr 27, 2018

@kjbracey-arm kjbracey-arm deleted the kjbracey-arm:equeue-ticks branch Apr 27, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment