EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Time issues on Linux
From: Ralph Lange <[email protected]>
To: EPICS Core-Talk <[email protected]>
Date: Tue, 27 Sep 2016 15:28:36 +0200
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  <20162017  2018  2019  2020  2021  2022  2023  2024 
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  <20162017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 27 Sep 2016 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·