>applicable to 99%+ of all serialization scenarios you encounter 

To be frank, you might not have very complex serialization requirements. 
Also, using PLO when CS,CSG,CDS,CDSG would do is a significant waste of 
cycles. For the cases I have seen within our code, uses of PLO (in the 
cases where it is not better to use something simpler) are a tiny 
percentage of our serialization needs.

>When the updating process wakes up S0C4! 

Using PLO to update a free queue, as is the case with CPOOL and its 
CDS-based free-queue protocol, requires that the queue elements *never* be 
freed (unless you like potentially blowing up or, worse, overlaying 
something you didn't intend to write into). Perhaps this is not well 
understood.

>I really don't see the big deal with an 0c4 in this scenario (should 
happen rarely)

That's a scary statement. If you get an 0C4 you could probably deal with 
it. The real risk is the case where you don't get an 0C4 because the 
storage was re-allocated and used for something else and now it does not 
program check but overlays something.

>I think I figured out a solution:

There are a lot of details missing in what was shown, but if you want my 
honest suspicion, it's that if this is a "free queue" type of protocol, it 
will not work.
The reason that the free queue protocol needs a sequence number is because 
even if the header "matches", the values that you need to put into your 
new element for the "next" and/or "previous" may no longer be correct due 
to a set of additional asynchronous operations.

Peter Relson
z/OS Core Technology Design

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

Reply via email to