Tony,

If you use this method in z/OS, then both address spaces would have to be 
marked non-swappable otherwise you are going to get occasional 0C4 abends 
during the move.

I have always used space-switch PCs owned by the server for this sort of thing 
(combined with MVCDK/MVCSK instructions to move data) as the client (the SASN 
in the PC-ss routine) can be addressed using the special ALET value of 1.

Rob Scott
Lead Developer
Rocket Software
275 Grove Street * Newton, MA 02466-2272 * USA
Tel: +1.617.614.2305
Email: [email protected]
Web: www.rocketsoftware.com

-----Original Message-----
From: IBM Mainframe Assembler List [mailto:[email protected]] On 
Behalf Of Tony Thigpen
Sent: 20 September 2010 14:47
To: [email protected]
Subject: Alets and access registers question

First off, I work in the VSE area, not z/OS, so things may be a little
different, but should be close to the same. But, I don't think asking
this on the VSE list will yield an answer.

Over the years of using cross-address space moves, we have seen things
that we don't understand that we would like to better understand.

We have client/server applications running in different address spaces
that use access register moves to transfer the data. What we have
learned over time is that the access register value needed for the moves
can change during the process. We would like to know why. Here is the
simple flow:


Job Server is waiting for work
Job Client posts job Server telling the server the address and length of
the data.
Job Server wakes up, acquires the ALET of the client and copies the data
to his address space
Job Server then processes the data
Job Server then writes data back into a buffer area set up by the client
in the client address space
Job Server posts the client and goes back to sleep
Job Client wakes up and processes the data.


The above process works almost all the time, but sometimes, while the
Server is processing the data, the ALET for the client partition
changes. This causes the reply write back to fail.

In other words, some time between the time the Server moves the data to
his address space and the time he attempts to move data back to the
client, the value that we need to stuff into the Access Register changes.

We know we can just reacquire the ALET before we write the data back
even if it is an CPU expensive action. We just want to better understand
why the value may change.

Any ideas?

--

Tony Thigpen

Reply via email to