Dear Core,
We recently ran into an issue that others might have experienced before: [1]
Calling time functions that honour timezones - e.g. mktime() or
localtime() - causes filesystem reads when accessing the timezone
information. In setups where these functions are being called from
driver threads in possibly fast loops (in our case converting time
stamps from incoming PLC data packets) this easily leads to congestion
and jitter in the 10s of millisecond range. (Connecting an IOC to 10
PLCs with fast updates caused the system to completely overload and come
close to a standstill, with TCP buffers overflowing and constant 350%
CPU utilization on a 4 core VM.)
In libCom/osi's epicsTime module, I see epicsTimeToTM() and
epicsTimeToGMTM() methods that allow to select if the timezone mechanism
should be used or not.
However, the other direction only offers epicsTimeFromTM() that honors
timezones, and eventually calls mktime().
Would you agree that epicsTimeFromGMTM() and the matching
epicsTime::epicsTime(const gm_tm_nano_sec &tm) should be added?
Thanks for your help,
~Ralph
[1] See also https://rachelbythebay.com/w/2013/06/11/time/
- Replies:
- Re: Time issues on Linux Andrew Johnson
- Navigate by Date:
- Prev:
Re: Errors when running "make -sj clean" on windows-x64 in top-level of pvPackageCPP Johnson, Andrew N.
- Next:
RE: Problem in 3.14.12.5 with osd/WIN32/osdTime.h with latest version of MinGW Mark Rivers
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
<2016>
2017
2018
2019
2020
2021
2022
2023
2024
2025
- Navigate by Thread:
- Prev:
EPICS 3.15.4 on RTEMS rtems-4.11.99.0 (PowerPC/Generic (classic FPU)/beatnik) Heinz Junkes
- Next:
Re: Time issues on Linux Andrew Johnson
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
<2016>
2017
2018
2019
2020
2021
2022
2023
2024
2025
|