EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: ca_put_callback once again
From: Andrew Johnson <[email protected]>
To: [email protected]
Date: Mon, 29 Nov 2010 13:06:28 -0600
On Wednesday 24 November 2010 16:44:57 Ben Franksen wrote:
>
> One way out is to restrict active putNotify requests to one per lockset,
> as Jeff proposed, and queue any further ones. Another possibility is to
> introduce "putNotify sets" (short: PN sets): each lock set is then a
> disjoint union of PN sets; these would be connected by links that cause
> processing, i.e. forward links and any input or output (DB) link with
> the PP property. This would certainly complicate the implementation; it
> is not clear to me whether it would be worth the price.

I don't think it's really practical to separate PN sets from lock sets, since 
links can be accessed conditionally but the PN set calculation has no way to 
know whether the conditions will be true or false so it would have to be 
conservative and span all record links.  PN sets are different in that they 
only span forward links and inp/out links that are marked PP, but PN sets 
would be quite a lot of infrastructure to add (and more IOC processing needed 
whenever a link gets changed) to fix this relatively obscure problem.

One advantage to combining PN with lock sets would be that we could probably 
move a couple of fields from dbCommon into the struct lockSet, and it might 
simplify the dbNotify code a bit.

If anyone wants to start looking at this, they should start from the Bazaar 
branch called process-get that will be merged into 3.15 at some point soon.  
Marty generalized the putNotify code at the 2008 Codeathon so it's possible to 
make processGet and putProcessGet requests as well as putProcess.

- Andrew
-- 
If a man is offered a fact which goes against his instincts, he will
scrutinize it closely, and unless the evidence is overwhelming, he will
refuse to believe it.  If, on the other hand, he is offered something
which affords a reason for acting in accordance to his instincts, he
will accept it even on the slightest evidence.  -- Bertrand Russell


References:
Re: ca_put_callback once again Tim Mooney
RE: ca_put_callback once again Jeff Hill
Re: ca_put_callback once again Ben Franksen

Navigate by Date:
Prev: Re: Testing UIs against real databases using simulation mode J. Lewis Muir
Next: Re: Testing UIs against real databases using simulation mode Angus Gratton
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: ca_put_callback once again Ben Franksen
Next: Re: ca_put_callback once again Ben Franksen
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 29 Nov 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·