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
|