Not arguing at all, but what then is the point of CSST? What does CSST 
accomplish that could not more easily be done with CS/JNE/MVI or Store?

Charles


-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Greg Dyck
Sent: Monday, September 11, 2017 2:54 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: CSST question

On 9/10/2017 11:39 AM, Charles Mills wrote:
...
> Is that saying that there is a chance that another CPU might observe a 
> condition in which the store of the first operand had occurred, but 
> the store of the second operand had not? My understanding from earlier 
> paragraphs was that CSST happened "all at once" from the point of view 
> of other CPUs. Was I mistaken?

Yes, it is saying that another CPU *might* observe the first store but not the 
second.  As I read it, the POPs does *not* say that say CSST happens "all at 
once."  It says that any fetches occur before a store occurs, and that each 
stores is block concurrent.  If the compare is successful the processor will 
perform both stores.  If the compare fails the processor will *not* perform 
both stores.

The following from the POPs is important to consider with respect to usage of 
CSST-

   3. The store value is intended to provide a separate
      “footprint” of the interlocked-update operation in
      a location apart from the first operand in a single
      unit of operation.

The store into the second operand is a "footprint".  CSST was not intended to 
be used as a means to atomically update two disparate storage locations.  
Rather, as a way to perform a Compare-and-swap operation, and set a footprint 
for recovery (ie, the CS completed) in non-shared storage associated with the 
current unit of work.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to