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: IOC warning when connecting to 64 devices |
From: | Mark Rivers via Tech-talk <tech-talk at aps.anl.gov> |
To: | "tech-talk at aps.anl.gov" <Tech-talk at aps.anl.gov>, Abdalla Ahmad <Abdalla.Ahmad at sesame.org.jo> |
Date: | Tue, 6 May 2025 12:44:22 +0000 |
Hi Abdalla,
That is a fairly common problem when a lot of records are set to SCAN=I/O Intr and all process at iocInit.
The example startup script for areaDetector IOCs has this line at the end to prevent the ring buffer overflow:
callbackSetQueueSize(5000)
Mark
From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Abdalla Ahmad via Tech-talk <tech-talk at aps.anl.gov>
Sent: Tuesday, May 6, 2025 2:47 AM To: tech-talk at aps.anl.gov <Tech-talk at aps.anl.gov> Subject: IOC warning when connecting to 64 devices Hi
We developed an asyn port driver for a group of power supplies, 64 in total, controlled via Ethernet. When the IOC was developed to connect to all power supplies at once, I got the following warning:
callbackRequest: cbLow ring buffer full
The IOC became slow and could not handle processing some PVs at .1 second scan. I ended up splitting the main IOC into 4 IOCs each controlling 16 devices and the system is working fine. I would like to know more what causes this warning and is it possible to have 1 IOC controlling all 64 devices?
Best Regards, Abdalla Al-Dalleh Control Engineer SESAME
|