> We have a long-running Started Task that controls the use of an ENF 
> listener for SMF interval record collection with an operator 
> command.  The ENF listener requires use of CSA storage.
> 
> When the Started Task receives an operator command to start SMF 
> interval processing it allocates CSA storage, registers the ENF 
> listener, and WAITs for interval expiration.
> 
> The question is: what should it do when the operator command says to
> stop SMF interval processing?
> 
> The options seem to be:
> 
> 
> 1)      Deregister the ENF listener and free the CSA storage, 
> meaning an operator can switch SMF interval processing on and off, 
> causing CSA storage to be allocated and deallocated, possibly 
> fragmenting CSA storage.  But when we aren't collecting SMF interval
> data, we won't have an ENF listener registered.
> 
> 
> 2)      Leave the ENF listener registered, but stop writing records 
> when the interval expires. Don't stop the ENF listener and free CSA 
> until the Started Task terminates (or possibly a special operator 
> command like /f stcname,SMF STOP).  This approach is easier on CSA 
> allocations for the case where the operator is switching SMF 
> interval collection on and off.  But it leaves an ENF listener 
> registered when one is not needed.
> 
> Which approach have you seen? Which is "better" (and why)?

  Keep in mind that for an ENF exit that was established via
the EXIT= keyword on the ENFREQ ACTION=LISTEN macro, the exit
could still be executing or be called even after an 
ENFREQ ACTION=DELETE returns to you.  So be very careful about 
which storage you think you can safely free after doing an 
ENFREQ ACTION=DELETE. 


Jim Mulder   z/OS System Test   IBM Corp.  Poughkeepsie,  NY

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to