EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024  2025  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024  2025 
<== Date ==> <== Thread ==>

Subject: Re: Channel Access Timeouts - ca(get|put) CA Priority
From: "Johnson, Andrew N. via Tech-talk" <tech-talk at aps.anl.gov>
To: "Yendell, Gary (DLSLtd,RAL,LSCI)" <gary.yendell at diamond.ac.uk>
Cc: EPICS tech-talk <tech-talk at aps.anl.gov>
Date: Fri, 23 Jul 2021 16:02:08 +0000
Hi Gary,

On Jul 23, 2021, at 9:51 AM, Yendell, Gary (DLSLtd, RAL, LSCI) via Tech-talk <tech-talk at aps.anl.gov> wrote:

We are having very occasional issues with CA timeouts (with a timeout of 3 seconds) from our control software (GDA). I think it is because the IOC sometimes doesn't respond when it is overwhelmed with requests and when we have multiple instances of EDM screens open it can produce a lot of requests. These timeouts can cause scans to fail, so responsiveness for the EDM screens is much less important. If we add an appropriate value for the CA Priority option to ca(get|put) in control software requests, would that make the IOC respond to it in preference to other clients and stop the timeout errors? Or am I misunderstanding what this option does?

The priority of a CA connection controls the priority of the EPICS threads in the IOC that are responsible for sending and receiving the CA messages. Whether and how the EPICS thread priority maps to that of the underlying OS depends on what OS the IOC is running on.

For IOCs running on Linux the EPICS thread priority only has an effect if the IOC has enough privilege to use the real-time scheduler (regular users generally don’t have this enabled). See this tech-talk message for a description and this how-to for detailed instructions. You might not even need to set the priorities of your CA connections to fix this though, just enabling the scheduler may be enough since the IOC thread that responds to name searches runs at a lower priority than the CA threads (which are lower again than the IOC’s threads that run the process database).

The other thing you might want to do is look at the CA search traffic on your subnet and see if it’s worth cleaning up any clients that are searching for PV names that don’t exist. If you don’t keep an eye on old GUI screens and other clients these dead searches can severely load down your IOCs. There are a couple of older tools I know of which can help to identify those PV names (caSnooper is probably best known), but the community might have others that I don’t know about.

HTH,

- Andrew

-- 
Complexity comes for free, simplicity you have to work for.


Replies:
Re: Channel Access Timeouts - ca(get|put) CA Priority Yendell, Gary (DLSLtd, RAL, LSCI) via Tech-talk
References:
Channel Access Timeouts - ca(get|put) CA Priority Yendell, Gary (DLSLtd, RAL, LSCI) via Tech-talk

Navigate by Date:
Prev: Channel Access Timeouts - ca(get|put) CA Priority Yendell, Gary (DLSLtd, RAL, LSCI) via Tech-talk
Next: Phoebus Archive xml config file: Automate generation. Kuldeep Joshi via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024  2025 
Navigate by Thread:
Prev: Channel Access Timeouts - ca(get|put) CA Priority Yendell, Gary (DLSLtd, RAL, LSCI) via Tech-talk
Next: Re: Channel Access Timeouts - ca(get|put) CA Priority Yendell, Gary (DLSLtd, RAL, LSCI) via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024  2025 
ANJ, 26 Jul 2021 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions ·
· Download · Search · IRMIS · Talk · Documents · Links · Licensing ·