Code review comment for lp:~dirk.zimoch/epics-base/named-soft-events

Revision history for this message
Timo Korhonen (timo-korhonen) wrote :

I have not yet had the time to look at the code, but to not hold up the process, I make here some comments:
Dirk's description of what happens is correct. The 'hardware' event numbers are totally separated from the software event numbers. This can be very confusing to people who are using the system without knowing the deep details.
The event record support implementation, as Dirk explained, does essentially only the linking from a hard to a soft event. For this to work, the event receiver is programmed to create an interrupt upon receiving a particular event number. The interrupt routine calls (via a hook) scanIOrequest for event records with EVR device support (if any).
This applies to event systems from the APS version up to now (Micro-Research 230 and older.)

However, there is the new set of drivers that (mainly) Michael Davidsaver at BNL is developing. He probably should also take a look to see if and how this would affect his implementation (although I think it will be more or less the same story - linking hard and soft events.)

In all cases that I have seen the number of soft events fired from hard events has been really small (3-4) and I cannot think of a use case where one would like to dispatch a large number of different events within one IOC.
In the worst case, if the possibility to refer directly by numbers is kept and thus one can have the O(1) behaviour, I do not see any dangers in this. If O(1) can be achieved with this solution, all the better.

« Back to merge proposal