EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Small arrays in rsrv
From: Ralph Lange <[email protected]>
To: EPICS Core-Talk <[email protected]>
Date: Fri, 03 Apr 2015 16:29:18 +0200
Hi,

We ran into some trouble when sending small arrays (64 bit total size) at high rate from an IOC.

Background: Our timing card generates 64 bit timestamps. When these are being treated as a value, the only way to implement them in the IOC database (<=3.15) is as an array of two 32bit elements.

With the help of Mark Rivers (who was adding configurable queuing for arrays to ASYN) we manged to fix the event leak between driver and database. Now we're hitting the leak between database and the rsrv CA server: updates to arrays (and strings) are put in the event queue by reference, so all queue entries are pointing to the same array instance and wrong data is being shipped to the client without any hint that the data is wrong.

Looking for a minimally invasive fix...
Would you think it is possible and a good idea to base the queuing type decision (by value or by reference) on the size instead of the DBF type, so that arrays <= 64 bit total length (or maybe a configurable value) are put in the queue by value?
That would solve our issue, and not create too much exceptionalism, right?

Cheers and Happy Easter,
~Ralph


Replies:
Re: Small arrays in rsrv Michael Davidsaver

Navigate by Date:
Prev: Re: variable-length-pCAS task Matej Sekoranja
Next: Re: Small arrays in rsrv Michael Davidsaver
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: variable-length-pCAS task Matej Sekoranja
Next: Re: Small arrays in rsrv Michael Davidsaver
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 16 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·