Like Transactional execution (TBEGIN/TEND/...) with z12, which I think
of as PLO unwrapped.


On 2019-07-30 1:32 p.m., Charles Mills wrote:
> FSVO "new" <g>CharlesSent from a mobile; please excuse the brevity.
>
Gary Weinhold
Senior Application Architect
DATAKINETICS | Data Performance & Optimization
Phone:+1.613.523.5500 x216
Email: [email protected]
Visit us online at www.DKL.com
E-mail Notification: The information contained in this email and any 
attachments is confidential and may be subject to copyright or other 
intellectual property protection. If you are not the intended recipient, you 
are not authorized to use or disclose this information, and we request that you 
notify us by reply mail or telephone and delete the original message from your 
mail system.


-------- Original message --------From: Paul Gilmartin 
<[email protected]> Date: 7/30/19  12:39 PM  
(GMT-05:00) To: [email protected] Subject: Re: Circular Queue 
Handling in Assembler On 2019-07-30, at 10:19:34, Gary Weinhold wrote:> > After 
loading the new index value, check if it's 256.  If so, do a> compare and swap 
for 255 to 0; if another process beat you to it, CS> fails and you have to 
reload the index value you now want (like 0 to 1),> just like you would if 
compare and swap fails.  The check for new index> = 255 has to be done in every 
loop.> > Or, it more be more efficient to do as was suggested in another 
answer:> after loading the new index value, aNd the register with '000000FF'.> 
> This may not be sufficient to protect the data being maintained in the> 
circular queue.  If my instance acquires index 42, for example, with the> above 
CS logic, there may be nothing to ensure that my instance actually> get the CPU 
cycles to move data to the associated 64-bit address before> the index is 
cycled by higher priority processes and some other instance> acquires index 
42.>  +1... if the producer does the CS first, there's no hazard two 
instances'acquiring "42"; rather the hazard is that a consumer will fetch the 
databefore the producer finishes moving it in.Surely, the problem of managing a 
FIFO queue, whether with a circularbuffer or otherwise, has been posed and 
solved numerous times.  Theremust be a published solution available.Are there 
new z Series instructions to facilitate this?  Perhaps PLO?-- gil

Reply via email to