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