Subject: |
Re: [Merge] ~epics-core/epics-base/+git/Com:use-monotonic into epics-base:7.0 |
From: |
Andrew Johnson via Core-talk <[email protected]> |
To: |
mdavidsaver <[email protected]> |
Date: |
Fri, 23 Aug 2019 21:07:51 -0000 |
Review: Approve
The drift of the 1-second scan thread on Linux has disappeared since the change (in 7.0.x) from CLOCK_MONOTONIC_RAW to CLOCK_MONOTONIC. I will send a graph showing my measurements to core-talk.
However this merge request changes the epicsMonotonicGet() routine from being optional to essential. This is a fairly new API, and contrary to a comment in the new epicsTime::getMonotonic() method it *can* currently fail, and will do on all vxWorks-ppc systems, even at APS because I haven't distributed any OS images with the necessary changes yet. Thus those BSP changes must be made optional before we can merge this. I just pushed the necessary changes.
Previously the VxWorks osdMonotonicInit() routine did a symbol look-up for sysTimeBaseFreq() and called it, warning if it wasn't present or returned 0. Now that the monotonic clock is essential it measures the time-base tick rate for itself if the BSP can't tell it. This takes 1 second at C++ static construction time:
load "libComTestHarness.munch"
osdMonotonicInit: Measuring CPU time-base frequency ... 24999799 ticks/sec.
The value returned by sysTimeBaseFreq() for this board would have been:
iocanj> sysGetBusSpd() / 4
value = 24999488
which seems close enough (~12 ppm). The result passes the libCom tests.
Approving, but this still needs an entry in the Release Notes before merging.
--
https://code.launchpad.net/~epics-core/epics-base/+git/Com/+merge/361380
Your team EPICS Core Developers is subscribed to branch epics-base:7.0.
- Replies:
- Re: [Merge] ~epics-core/epics-base/+git/Com:use-monotonic into epics-base:7.0 Johnson, Andrew N. via Core-talk
- Navigate by Date:
- Prev:
Dates for a Codeathon at Diamond Johnson, Andrew N. via Core-talk
- Next:
Re: [Merge] ~epics-core/epics-base/+git/Com:use-monotonic into epics-base:7.0 Johnson, Andrew N. via Core-talk
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
<2019>
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: [Merge] ~epics-core/epics-base/+git/Com:use-monotonic into epics-base:7.0 Andrew Johnson via Core-talk
- Next:
Re: [Merge] ~epics-core/epics-base/+git/Com:use-monotonic into epics-base:7.0 Johnson, Andrew N. via Core-talk
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
<2019>
2020
2021
2022
2023
2024
|