-
Notifications
You must be signed in to change notification settings - Fork 215
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
Fix #429, OS_time_t with single tick counter #735
Fix #429, OS_time_t with single tick counter #735
Conversation
CCB:2021-01-13 APPROVED @ejtimmon please comment on App impact |
Use a single 64-bit tick counter as OS_time_t, rather than a split 32 bit seconds + 32 bit microseconds counter. This benefits in several ways: - increases the timing precision by 10x (0.1us ticks) - increases the representable range by 400x (+/-14000 yrs) - simplifies addition/subtraction (no carry over) - avoids "year 2038" bug w/32-bit timestamps
6a2ebed
to
7e34a2c
Compare
Rebased to current "main" and confirmed this builds OK against the current "main" branch of cfe/psp. (i.e. dependencies resolved, everything looks OK). Also added an explicit cast to This should be ready to go now. |
…nators Fix nasa#735, add comment if null terminated or not.
Describe the contribution
Use a single 64-bit tick counter to implement
OS_time_t
, rather than a split 32 bit seconds + 32 bit microseconds counter.This benefits in several ways:
Fixes #429
Testing performed
Build and run all unit tests, sanity check CFE
Expected behavior changes
None
System(s) tested on
Ubuntu 20.04 (native)
RTEMS 4.11 + pc686 (qemu)
Additional context
This is the final step listed in issue #429, and it depends on several dependencies being merged already:
It is submitted as a separate PR from #723 due to the dependencies, so it doesn't necessarily all have to be merged at once. However if CCB wants to accelerate the rollout this can be all done in a single merge cycle.
Contributor Info - All information REQUIRED for consideration of pull request
Joseph Hickey, Vantage Systems, Inc.