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 2021 <2022> 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 2021 <2022> 2023 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: odd ASYN behavior |
From: | Mark Rivers via Tech-talk <tech-talk at aps.anl.gov> |
To: | EPICS Tech Talk <tech-talk at aps.anl.gov>, Ralph Lange <ralph.lange at gmx.de> |
Date: | Fri, 18 Mar 2022 22:27:51 +0000 |
Please also consider setting
That's a good point. In this case the problem only occurs at iocInit because there are lots of records with SCAN=I/O Intr that get processed once at iocInit. In this case I think increasing the queue size is fine, it just means that iocInit takes a bit longer
to complete. In the case when the problem happens due to a high callback rate during normal operation then callbackParallelThreads is a better solution.
Mark
From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Ralph Lange via Tech-talk <tech-talk at aps.anl.gov>
Sent: Friday, March 18, 2022 4:54 PM To: EPICS Tech Talk <tech-talk at aps.anl.gov> Subject: Re: odd ASYN behavior On Fri, 18 Mar 2022 at 22:11, Mark Rivers via Tech-talk <tech-talk at aps.anl.gov> wrote:
Please also consider setting
callbackParallelThreads
to enable multiple concurrent threads to be working on the callback queues. Making the callback queue larger is one way, having the IOC process the callbacks faster is another way to cope with high traffic situations.
See the AppDevGuide for more details [1].
There are iocShell commands to show statistics on queue usage to allow for checking as well as proper and safe queue size configuration. The iocStats module [2] can be used for continuous monitoring of queue status.
Cheers,
~Ralph
[1]
https://epics.anl.gov/base/R3-16/1-docs/AppDevGuide/EPICSGeneralPurposeTasks.html#x17-69800016.2.5
|