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: Re: Small arrays in rsrv
From: Andrew Johnson <[email protected]>
To: <[email protected]>
Date: Fri, 3 Apr 2015 10:44:09 -0500
On 04/03/2015 09:50 AM, Michael Davidsaver wrote:
> On 04/03/2015 10:29 AM, Ralph Lange wrote:
> ...
>> 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?
> 
> This would be a change to code handling db_field_log* correct?  On the
> one hand I think the semantics of using this structure with arrays is
> already complicated.
> 
> On the other hand enabling DB_EVENT_LOG_STRINGS gives sizeof(union
> native_value)==40, which is certainly enough for your case.
> 
> I support an alternative would be a memory pool for small arrays (<128
> bytes?).

I'm guessing that adding a memory pool would need more invasive work,
whereas just using the storage already available in the db_field_log
objects for array data would need no additional memory allocations.

To be honest I'm slightly surprised that we haven't already done that.
I'd be in favour of the change Ralph is suggesting using the size, and I
would even suggest considering allowing the user to adjust how large the
log buffer is at initialization time. This would allow users to turn on
DB_EVENT_LOG_STRINGS (which nobody else really knows about anyway)
without recompiling.

A 3.15 change IMHO, as is Matej's pCAS update.

- Andrew
-- 
Light thinks it travels faster than anything but it is wrong.
No matter how fast light travels, it finds the darkness has
always got there first, and is waiting for it.
    -- Terry Pratchett, Reaper Man

Replies:
Re: Small arrays in rsrv Michael Davidsaver
References:
Small arrays in rsrv Ralph Lange
Re: Small arrays in rsrv Michael Davidsaver

Navigate by Date:
Prev: mbbi/mbbo default setting Ralph Lange
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: Small arrays in rsrv Michael Davidsaver
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 ·