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  2016  2017  2018  2019  <20202021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: [Merge] ~dirk.zimoch/epics-base:epicsMutexPriorityInheritance into epics-base:7.0
From: Till Straumann via Core-talk <core-talk at aps.anl.gov>
To: mp+394327 at code.launchpad.net
Date: Mon, 23 Nov 2020 16:55:06 -0000
> We found that EPICS was not behaving as "real-time" as expected even though
> SCHED_FIFO was used. A deeper investigation found that this was due to prioriy
> inversion. When reading the source code, we found that "Until these can be
> demonstrated to work leave them undefined" has been in for a long time and
> nobody seemed to have cared, which had surprized us a lot. I think this wither
> got forgotten somehow and nobody really needed it or noticed it or maybe
> people simply removed those #undefs (which is not sufficient because other
> code used posix semaphores directly instead of using epicsMutexes).
> 
> I propose this change now, because we have fixed it now.
> 
> Till needs to comment on details of the implementation...

At SLAC we had -- for years -- patched this old #undef. What I only noticed recently is that even if you patch the #undef EPICS still uses non-PI mutexes in some other places (e.g., the mutex protecting the condition variable in epicsEvent) and this is what this particular contribution addresses.

Re - 'root': it is absolutely correct that you don't have to be root to use SCHED_FIFO (and at SLAC we had followed the guidelines linked by Ralph). Using 'root' is just the easiest way to get there...
-- 
https://code.launchpad.net/~dirk.zimoch/epics-base/+git/epics-base/+merge/394327
Your team EPICS Core Developers is requested to review the proposed merge of ~dirk.zimoch/epics-base:epicsMutexPriorityInheritance into epics-base:7.0.

References:
Re: [Merge] ~dirk.zimoch/epics-base:epicsMutexPriorityInheritance into epics-base:7.0 Dirk Zimoch via Core-talk

Navigate by Date:
Prev: Re: [Merge] ~dirk.zimoch/epics-base:epicsMutexPriorityInheritance into epics-base:7.0 mdavidsaver via Core-talk
Next: Re: [Merge] ~dirk.zimoch/epics-base:epicsMutexPriorityInheritance into epics-base:7.0 mdavidsaver via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
Navigate by Thread:
Prev: Re: [Merge] ~dirk.zimoch/epics-base:epicsMutexPriorityInheritance into epics-base:7.0 Dirk Zimoch via Core-talk
Next: Re: [Merge] ~dirk.zimoch/epics-base:epicsMutexPriorityInheritance into epics-base:7.0 mdavidsaver via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
ANJ, 23 Nov 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·