============================================================ -----Original Message----- From: "Miklos Szigetvari" <[EMAIL PROTECTED]> Sent: 6/29/2006 6:09 AM To: "[email protected]" <[email protected]> Subject: Using different storage key's
Hi The short question: What is the most effective (fast) way to move data between different storage keys ? The longer story: We have an FSS application ( running in JESKEY) which starts different user programs, and exchange the data with the user programs (via SVC screening and access method routine changes ) For a long time, the user application was also run in JESKEY.. Since a year, the user applications started to use the shared memory (over Uss) and we found, it is necesary to run in key 8 to use shared memory So now the user applications are running in key8 , and we are using PC routines to go into JESKEY, and MVCSK and MVCDK to move data. It is working so, but the CPU consumption is much higher as it was before. How can I solve this ? Can I use here KEY=NINE (Storage Protection Override) . ============================================================ Greetings, The short answer: MVCSK, MVCDK. The long answer: See the shorter answer. Key 9 is only reasonable when working with problem state problem key applications. Do not use key 9 (or any problem key) for supervisor state or system key applications. As Craddock mentioned elsewhere, DO NOT USE IVSK to determine the target key. Virtual pages can be freed/reallocated asynchronously; between the time you use IVSK and the time you SPKA/MVC, the storage could belong to someone else in a different key or the user could be trying to spoof your authorized program into accessing protected storage that the user should not access. If you are seeing higher CPU consumption, then you need an assembly language developer who has experience designing and implementing high performance authorized routines (SRB and cross memory mode). Such a person is hard to find these days, but may be worth the money to track down your problem. Without knowing anything about the implementation of your change to using MVCSK & MVCDK, I would suspect that the problem is elsewhere (high level language like C or C++?) or the assembler routines using MVCSK & MVCDK are poorly written. See the authorized programming reference manual, the chapter on user SVC routines has some discussion on the importance of touching user-specified storage only with the user key (the remarks also apply to PC routines). The best way to do this is with MVCSK, MVCDK. Jeffrey D. Smith Farsight Systems Corporation 24 BURLINGTON DR LONGMONT, CO 80501 303-774-9381 direct 303-709-8153 cell 303-484-6170 fax ---------------------------------------------------------------------- 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

