Please show us how PLO is an acceptable solution for the OP's question about
using a circular queue. Show us that protocol you think exists.
Jon.
On Monday, August 5, 2019, 11:23:00 AM PDT, Seymour J Metz <[email protected]>
wrote:
My apologies for assuming that you had more reading comprehension than you
turn out to have. The point of the link was that you can devise a sound
protocol but you can't ensure that everyone in the future will follow it.
--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
________________________________________
From: IBM Mainframe Assembler List <[email protected]> on behalf
of Jon Perryman <[email protected]>
Sent: Sunday, August 4, 2019 4:23:21 PM
To: [email protected]
Subject: Re: Circular Queue Handling in Assembler
Nice job Seymour hiding insults in hiperlinks. Since you brought it up, God is
not as smart as he wants you to believe. He created the jackass. He later
realized his mistake made it impossible for them to reproduce. Yet they still
exist.
How does PLO solve the OP's serialization problem with a circular queue? Which
words and concepts are you having a problem understanding? Here is the op's
shared storage definitions: FIRST DS A(0)LAST DS A(0)CIRCULAR_QUEUE DS
&SIZE.CL256
Tony's WAIT / ECB solution has solved the serialization problem and worked well
for many years. Using a chained queue with CS solves the serialization problem.
What is the protocol you mention that makes PLO use case for the OP's problem.
Jon.
On Saturday, August 3, 2019, 01:41:40 PM PDT, Seymour J Metz
<[email protected]> wrote:
How is moving 256 bytes relevant to the serialization?
If someone doesn't bother to use part of the protocol then the problem is with
him, not with the protocol.
http://secure-web.cisco.com/1i7eBcDNSF_WK9z-tHeFovBM6ucorrSRtAwP1RNSYmwF50If_FDvl0_l2yNzCRoV4K6mQIs79re0X1snD-_13h8J-piEPAsNtawjSIOOZ5eKKdmbGRZa95zazInYja2pzBz_LtbC4obsN945gsIkDjXcSjUv2NNt3hgTIAkMl4JLegBZM2SeINf3gIwbE3PpvnjhYyrfWvwozOeWKmwt8_p5gwtMC43pM44gfF-ytvm6PwqYJRToVaK1MJHxiqgLwGq52NsPaUEJhlrr-yjpxWJ5LZN1L6rGRSnbr3LzJ-lysgMhPV3S-4Wg1lIPiqAGYBhbuHUCzJGqf01M5KKymO4zXk__hkL6ISPrM84GWjkoGzJLmlOe_u61KUQXN-suX4CExpcJ56vKUs1PU0UVs291L4ciUBGX-GpAR4sgi-e-cNGb-eArdwi5iN3wjZe5p/http%3A%2F%2Fwww.quotationspage.com%2Fquote%2F26271.html
--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
________________________________________
From: IBM Mainframe Assembler List <[email protected]> on behalf
of Jon <[email protected]>
Sent: Friday, August 2, 2019 5:29 PM
To: [email protected]
Subject: Re: Circular Queue Handling in Assembler
>> How is PLO a use case for a multi-tasking circular queue?
> Because it can do a pair fo compare and swap operations as an atomic
> operation.
Does PLO now move 256 bytes? The op needs to update a 4 byte index and 256 byte
data area. It's been a very long time since I looked at PLO but I thought it
was less than 64 bytes. I could easily be wrong.
>> How do you eliminate timing issues,
> How do you eliminate timing using a supervisor assist, e.g., ENQ, latches,
> locks?
>It's up to you to analyze the costs in your environment.
The op was worried about CS before or after (timing). Tony's product solved
this thru multiple ECB's. Forget about cost and simplify the solution. The
element is either on the ready queue, on the free queue or not on any queue (in
use by a task).
>> deadly embraces
> How do you get one in the first place?
By making a false assumption. Most notably, someone might not bother to use
WAIT, thinking that a spin loop would be quick enough.
>> spin lock hangs?
> Spin lock starvation I might believe, but no reasonable design will hang.
> Also, if you're hitting the service so heavily that spin lock timing is an
> issue, you'd better rethink your design.
Sorry, I meant spin loop. There are several considerations when implementing a
circular queue. It would not take much to overlook something in the design.
Jon.