If you really want to try using real addresses, I STRONGLY urge you to use the 
DATOFF system service rather than using your own code.  If all you are moving 
is one byte, then you are guaranteed that the source byte is in the same real 
4K frame as the target byte, but if the length is >1 then you may overlay some 
part of the wrong target page (worst case) or move some bytes from the wrong 
source page (best case).  You will need considerable code to ensure that such 
moves can never happen with your one and only one MVCL.  Unless you have 
allocated your virtual storage in such a way that the real storage backing the 
virtual storage is also contiguous, then you will have to loop through the data 
and never do the MVCL with parameters that would cause such an error.  I assume 
that's how DATOFF does it.  If you can do the following, I would also suggest 
you run a test case of moving 8K bytes using DATOFF and while tracing each 
instruction by running your MVS under VM (or on your ow!
 n P390 or similar machine that you can run in standalone mode with instruction 
stepping enabled).  Then you will understand the necessary overhead if you want 
to move data using real addresses.

Bill Fairchild

Software Developer 
Rocket Software
275 Grove Street * Newton, MA 02466-2272 * USA
Tel: +1.617.614.4503 * Mobile: +1.508.341.1715
Email: [email protected] 
Web: www.rocketsoftware.com


-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf Of 
Dave Day
Sent: Wednesday, March 31, 2010 4:50 PM
To: [email protected]
Subject: DATOFF Nucleus routines

    Have code that moves data from a known area in one address space to a 
corresponding area in another address space.  This code executes multiple times 
per second.  Code uses AR's and a MovePage instruction to get the data from one 
to the other, one page at a time.  Since I know the real address location of 
the source and target of the move, I'm wondering how much overhead would be 
saved by doing this using real addresses as opposed to virtual, and using one 
MVCL instruction.  Anyone have any history with this?    

    --Dave   

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to