Re: Where doc for STORAGE LINKAGE=SYSTEM
At 09:26 -0700 on 09/02/2010, Edward Jaffe wrote about Re: Where doc for STORAGE LINKAGE=SYSTEM: We've been burned by that unintuitive CALLRKY= default more than once. Theoretically there is a solution. Add a CALLERKEY= Parm and have it checked for first. If it is set then in that path check for CALLRKY and MNOTE if both defined and has a different value (otherwise ignore the CALLRKY). If CALLERKEY has not been used then do the normal check for CALLRKY. There have been other depreciated parms that have been handled this way if I remember correctly. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Where doc for STORAGE LINKAGE=SYSTEM
On 9/5/2010 2:51 AM, Robert A. Rosenberg wrote: At 09:26 -0700 on 09/02/2010, Edward Jaffe wrote about Re: Where doc for STORAGE LINKAGE=SYSTEM: We've been burned by that unintuitive CALLRKY= default more than once. Theoretically there is a solution. Add a CALLERKEY= Parm and have it checked for first. If it is set then in that path check for CALLRKY and MNOTE if both defined and has a different value (otherwise ignore the CALLRKY). If CALLERKEY has not been used then do the normal check for CALLRKY. There have been other depreciated parms that have been handled this way if I remember correctly. I wasn't clear. We weren't burned because the CALLRKY= keyword has no vowels. We were burned by the unexpected fact that the STORAGE OBTAIN service assigns key zero (by default) to storage acquired from key-specifiable subpools, thus requiring explicit specification of CALLRKY=YES in nearly every case. -- Edward E Jaffe Phoenix Software International, Inc 831 Parkview Drive North El Segundo, CA 90245 310-338-0400 x318 edja...@phoenixsoftware.com http://www.phoenixsoftware.com/ -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: where doc for STORAGE LINKAGE=SYSTEM
Edward Jaffe wrote: begin snippet I wasn't clear. We weren't burned because the CALLRKY= keyword has no vowels. We were burned by the unexpected fact that the STORAGE OBTAIN service assigns key zero (by default) to storage acquired from key-specifiable subpools, thus requiring explicit specification of CALLRKY=YES in nearly every case. /end snippet In such circumstances a usually innocuous framing macro can be used, as in | macro | STORAGE@ CALLRKY=YES, . . . | . . . | STORAGE CALLRKY=CALLRKY, . . . | . . . | mend to provide oneself with more congenial defaults without depriving someone else of the freedom to code something like | STORAGE@ CALLRKY=NO, . . . John Gilmore Ashland, MA 01721-1817 USA -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Where doc for STORAGE LINKAGE=SYSTEM
On 5 Sep 2010 08:10:55 -0700, in bit.listserv.ibm-main you wrote: On 9/5/2010 2:51 AM, Robert A. Rosenberg wrote: At 09:26 -0700 on 09/02/2010, Edward Jaffe wrote about Re: Where doc for STORAGE LINKAGE=SYSTEM: We've been burned by that unintuitive CALLRKY= default more than once. Theoretically there is a solution. Add a CALLERKEY= Parm and have it checked for first. If it is set then in that path check for CALLRKY and MNOTE if both defined and has a different value (otherwise ignore the CALLRKY). If CALLERKEY has not been used then do the normal check for CALLRKY. There have been other depreciated parms that have been handled this way if I remember correctly. I wasn't clear. We weren't burned because the CALLRKY= keyword has no vowels. We were burned by the unexpected fact that the STORAGE OBTAIN service assigns key zero (by default) to storage acquired from key-specifiable subpools, thus requiring explicit specification of CALLRKY=YES in nearly every case. The vendor inappropriate default strikes again (I use the term vendor because the problem is not unique to IBM). Clark Morris -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Where doc for STORAGE LINKAGE=SYSTEM
In 4c814848.9080...@ync.net, on 09/03/2010 at 02:11 PM, Rick Fochtman rfocht...@ync.net said: besides, ASMH was a slightly better performer and didn't require in-house support. I actually had cases where Assembler (G) was faster, but the macro language in Assembler (H) was better, and that was more important to me. -- Shmuel (Seymour J.) Metz, SysProg and JOAT ISO position; see http://patriot.net/~shmuel/resume/brief.html We don't care. We don't have to care, we're Congress. (S877: The Shut up and Eat Your spam act of 2003) -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Where doc for STORAGE LINKAGE=SYSTEM
In of2b1c3d2b.cca4469c-on85257792.0041ff27-85257792.0042f...@us.ibm.com, on 09/02/2010 at 08:11 AM, Peter Relson rel...@us.ibm.com said: If you ask why not CALLERKEY? you'd be asking a good question. It was because at the time I thought our macros still had to support assembler F ITYM XF. Assembler F would have been well and truly dead[1] by the time STORAGE came out. [1] Unless you count Assembler G, but I'm not sure how much use it saw by then. -- Shmuel (Seymour J.) Metz, SysProg and JOAT ISO position; see http://patriot.net/~shmuel/resume/brief.html We don't care. We don't have to care, we're Congress. (S877: The Shut up and Eat Your spam act of 2003) -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Where doc for STORAGE LINKAGE=SYSTEM
snip-- If you ask why not CALLERKEY? you'd be asking a good question. It was because at the time I thought our macros still had to support assembler F ITYM XF. Assembler F would have been well and truly dead[1] by the time STORAGE came out. [1] Unless you count Assembler G, but I'm not sure how much use it saw by then. --unsnip I never was able to make ASMG run on any MVS system higher than 3.8. Enough control blocks had changed that I felt it wasn't worth further pursuit; besides, ASMH was a slightly better performer and didn't require in-house support. Rick -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Where doc for STORAGE LINKAGE=SYSTEM
So STORAGE is just GETMAIN in disguise More correct would be to say that STORAGE OBTAIN with LINKAGE=SVC, LINKAGE=BRANCH, or LINKAGE=GLOBALBRANCH are GETMAIN in disguise. STORAGE RELEASE with LINKAGE=SVC, LINKAGE=BRANCH, or LINKAGE=GLOBALBRANCH are FREEMAIN in disguise. STORAGE with LINKAGE=SYSTEM is not GETMAIN or FREEMAIN in disguise. It obviously has vast similarities to, and shares a lot of back-end processing with, GETMAIN and FREEMAIN. As you might guess, the intent is never to touch the GETMAIN/FREEMAIN macros again. Any enhancements will only be represented in the STORAGE macro even if they wind up going through what might be considered the GETMAIN/FREEMAIN path. If you want an example of a really dumb default that we are powerless to change (without breaking the world), it is the default of STORAGE (with LINKAGE=SYSTEM) for a key-specifiable subpool defaulting to key 0 instead of caller's key. Way back when, the implementor thought that STORAGE LINKAGE=SYSTEM was most similar to GETMAIN/FREEMAIN LINKAGE=BRANCH. Not. Anyway, once that was done, it could not be changed in any reasonable way, so we had to add the CALLRKY=NO|YES keyword. I did that. If you ask why not CALLERKEY? you'd be asking a good question. It was because at the time I thought our macros still had to support assembler F which (as I recollect) required macro keywords to be no longer than 7 characters long. So one might say STORAGE CALLRKY=YES (LINKAGE=SYSTEM) is what is most similar to SVC-entry GETMAIN/FREEMAIN. And, of course as we have been discussing STORAGE LINKAGE=SVC *is* GETMAIN/FREEMAIN for the options of GETMAIN/FREEMAIN that we chose to support with this mechanism. Many of the archaic forms are not supported. Peter Relson z/OS Core Technology Design -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Where doc for STORAGE LINKAGE=SYSTEM
On 9/2/2010 5:11 AM, Peter Relson wrote: If you want an example of a really dumb default that we are powerless to change (without breaking the world), it is the default of STORAGE (with LINKAGE=SYSTEM) for a key-specifiable subpool defaulting to key 0 instead of caller's key. Way back when, the implementor thought that STORAGE LINKAGE=SYSTEM was most similar to GETMAIN/FREEMAIN LINKAGE=BRANCH. Not. Anyway, once that was done, it could not be changed in any reasonable way, so we had to add the CALLRKY=NO|YES keyword. We've been burned by that unintuitive CALLRKY= default more than once. :-( Also, we did some benchmarks years ago that found SVC entry to GETMAIN to be significantly faster than PC entry to STORAGE. For these reasons we made a conscious decision to avoid use of the STORAGE macro except where absolutely required--such as in a PC routine. But then a couple/few years ago we enhanced our privileged code to run in zIIP-eligible SRB mode. At that point, because of the local lock and strange input register requirements of branch-entry GETMAIN (R4 and R7 I think?), we decided to convert *everything* to use to use STORAGE. I don't think we have any GETMAINs left... -- Edward E Jaffe Phoenix Software International, Inc 831 Parkview Drive North El Segundo, CA 90245 310-338-0400 x318 edja...@phoenixsoftware.com http://www.phoenixsoftware.com/ -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Where doc for STORAGE LINKAGE=SYSTEM?
At 18:10 -0700 on 08/31/2010, Charles Mills wrote about Where doc for STORAGE LINKAGE=SYSTEM?: I'm looking at page 119 of z/OS V1R10.0 MVS Assembler Services SET-WTO, the STORAGE macro. There is a very brief mention of LINKAGE=SYSTEM. However, at the beginning of the chapter, where it discusses register usage, there is only a description of LINKAGE=SVC and LINKAGE=BRANCH. What am I not seeing? I think LINKAGE=SYSTEM requires the user to be in Authorized state. If I am correct, you need to look in the Authorized Services Manual (just like you would for other Authorized User Parms of macros that can also be used in non-Authorized mode). -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Where doc for STORAGE LINKAGE=SYSTEM?
Some problems solved by looking at the V1R12.0 PDF online. LINKAGE=SYSTEM is documented, but BRANCH=SVC is still there, and no discussion of LINKAGE for STORAGE RELEASE. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of Charles Mills Sent: Tuesday, August 31, 2010 6:11 PM To: IBM-MAIN@bama.ua.edu Subject: Where doc for STORAGE LINKAGE=SYSTEM? I'm looking at page 119 of z/OS V1R10.0 MVS Assembler Services SET-WTO, the STORAGE macro. There is a very brief mention of LINKAGE=SYSTEM. However, at the beginning of the chapter, where it discusses register usage, there is only a description of LINKAGE=SVC and LINKAGE=BRANCH. What am I not seeing? FWIW, the whole beginning of the chapter seems a little garbled. There are introductory sections called Input and Output Register Information that appear to be correct only for LINKAGE=SVC, and under Input Register Information for LINKAGE=SVC there is a reference to something called BRANCH=SVC (which is contradictory and not supported by the macro). Further, there is no documentation for LINKAGE= with STORAGE RELEASE. Is it not supported or is the documentation wrong? LINKAGE= is supported for STORAGE RELEASE in the same way it is supported for STORAGE OBTAIN. The LINKAGE keyword has always been present on the STORAGE macro since its creation in MVS/ESA SP3.1.0, However, the only supported value was the default of LINKAGE=SYSTEM. The other LINKAGE values (SVC, BRANCH, GLOBALBRANCH) were added in z/OS 1.6 (although not documented in the manuals until z/OS 1.7) to be equivalent to GETMAIN/FREEMAIN RC/RU/VRC/VRU, so that we would no longer need to add new functions to the GETMAIN/FREEMAIN macros. If you think the beginning of the chapter seems a little garbled, try understanding and enhancing the source code for GETMAIN/FREEMAIN. As always, we recommend sending a note to mhvr...@us.ibm.com describing any problems you find in the manuals. Jim Mulder z/OS System Test IBM Corp. Poughkeepsie, NY -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Where doc for STORAGE LINKAGE=SYSTEM?
I think LINKAGE=SYSTEM requires the user to be in Authorized state. If I am correct, you need to look in the Authorized Services Manual (just like you would for other Authorized User Parms of macros that can also be used in non-Authorized mode). LINKAGE=SYSTEM (and LINKAGE=SVC) do not require the user to be in an Authorized state unless some other parameter is specified which requires authorization. LINKAGE=BRANCH and LINKAGE=GLOBALBRANCH require the user to be supervisor state, key zero. Jim Mulder z/OS System Test IBM Corp. Poughkeepsie, NY -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Where doc for STORAGE LINKAGE=SYSTEM
(FWIW, The reference is apparently to the Authorized Assembler Services Reference, not the Assembler Services Reference) These documentation points are the sorts of errors that I encourage you to bring to our attention by the supported mechanisms, not IBM-Main. Of course if there's a problem you're trying to solve, not just pointing out a deficiency in the books, IBM-Main is a great resource. In this case, I will undertake to get this updated. The answer to your question is simple: Since LINKAGE=SYSTEM is the default, the input and output register information are under the sections Input Register Information and Output Register Information. And until the books are updated, if you need information about the Input or Output Register Information for any of the other LINKAGEs, see GETMAIN / FREEMAIN. STORAGE LINKAGE=SVC is SVC-entry GETMAIN/FREEMAIN STORAGE LINKAGE=BRANCH is GETMAIN/FREEMAIN BRANCH=YES STORAGE LINKAGE=GLOBALBRANCH is GETMAIN/FREEMAIN BRANCH=(YES,GLOBAL) Peter Relson z/OS Core Technology Design -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Where doc for STORAGE LINKAGE=SYSTEM
Thanks all. Yes, I meant Authorized Assembler Services. (The only one that has a SET-WTO volume.) Wow, is this all confusing. (And yes, I imagine maintaining the source -- two sources, assembler and PL/S, right? -- for GETMAIN is even more confusing.) So STORAGE is just GETMAIN in disguise. I knew it provided the same sort of functionality, but with notes here and there seeming to encourage the use of STORAGE instead, I thought it was somehow fundamentally better. (Here's my favorite analysis, from Auth Svces Guide V1R10.0: Whether the program will run only with MVS/ESAT or with both MVS/ESA and MVS/XAT. If your program will run with both operating systems, use GETMAIN and FREEMAIN.) Okay, in the future I will report documentation um, shortcomings to the e-mail address you gave. They might want to put that address in all of the manuals. The BookManager form of the Auth Svces SET-WTO manual has only more-or-less the same snail-mail form I remember from OS/360 manuals. (And yes, I have copied mhvr...@us.ibm.com on this note.) Charles -Original Message- From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of Peter Relson Sent: Wednesday, September 01, 2010 5:05 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Where doc for STORAGE LINKAGE=SYSTEM (FWIW, The reference is apparently to the Authorized Assembler Services Reference, not the Assembler Services Reference) These documentation points are the sorts of errors that I encourage you to bring to our attention by the supported mechanisms, not IBM-Main. Of course if there's a problem you're trying to solve, not just pointing out a deficiency in the books, IBM-Main is a great resource. In this case, I will undertake to get this updated. The answer to your question is simple: Since LINKAGE=SYSTEM is the default, the input and output register information are under the sections Input Register Information and Output Register Information. And until the books are updated, if you need information about the Input or Output Register Information for any of the other LINKAGEs, see GETMAIN / FREEMAIN. STORAGE LINKAGE=SVC is SVC-entry GETMAIN/FREEMAIN STORAGE LINKAGE=BRANCH is GETMAIN/FREEMAIN BRANCH=YES STORAGE LINKAGE=GLOBALBRANCH is GETMAIN/FREEMAIN BRANCH=(YES,GLOBAL) Peter Relson z/OS Core Technology Design -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu 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 lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Where doc for STORAGE LINKAGE=SYSTEM
On Wed, Sep 1, 2010 at 8:56 AM, Charles Mills charl...@mcn.org wrote: Wow, is this all confusing. (And yes, I imagine maintaining the source -- two sources, assembler and PL/S, right? -- for GETMAIN is even more confusing.) So STORAGE is just GETMAIN in disguise. I knew it provided the same sort of functionality, but with notes here and there seeming to encourage the use of STORAGE instead, I thought it was somehow fundamentally better. well kind of better. It is more accurate to say that STORAGE (the PC version) and GETMAIN (the various SVC and branch-entry versions) end up going to the same place, albeit with different front-end logic along the way. STORAGE is (IMO) better than GETMAIN because it is easier to use and more tolerant of the caller's environmental conditions. But even though the stacking PC is much faster than the SVC FLISH/SLIH, STORAGE is actually slightly slower than GETMAIN because the STORAGE PC front-end does a lot more validation precisely because it IS more tolerant. If you're just writing plain old problem state code there's no advantage unless you are also running in AR mode (supported by STORAGE, but not by any of the forms of GETMAIN) However, if you're writing code that runs in the dark and scary places then STORAGE is a way better deal. -- This email might be from the artist formerly known as CC (or not) You be the judge. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: where doc for STORAGE LINKAGE=SYSTEM
Chris Craddock wrote: begin snippet If you're just writing plain old problem state code there's no advantage unless you are also running in AR mode (supported by STORAGE, but not by any of the forms of GETMAIN) However, if you're writing code that runs in the dark and scary places then STORAGE is a way better deal. /end snippet This is literally correct, but my own advice would be to avoid GETMAIN and FREEMAIN entirely in new code and further to root it out of old code when it is realistically feasible to do so, when that code needs to be changed anyway. G F have been functionally stabilized; support for new facilities is being provided exclusively via STORAGE. Code that uses G F will not be at all easy to modify to use such new facilities---AR MODE is only one such---as needs for them arise. There is another, essentially pedagogic argument for converting to STORAGE. Its syntax is cleaner and neater. There are fewer culs de sac. Those of us who have used G F for many years have, I think, been desensitized to their baroque complexities; we know about them and we live with them; but I can see no good reason to inflict such obsolescent lore on others. John Gilmore Ashland, MA 01721-1817 USA -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Where doc for STORAGE LINKAGE=SYSTEM?
In p06240804c8a398a16...@[192.168.1.11], on 09/01/2010 at 01:46 AM, Robert A. Rosenberg hal9...@panix.com said: I think LINKAGE=SYSTEM requires the user to be in Authorized state. Wouldn't that apply to LINKAGE=BRANCH rather than LINKAGE=SYSTEM? -- Shmuel (Seymour J.) Metz, SysProg and JOAT ISO position; see http://patriot.net/~shmuel/resume/brief.html We don't care. We don't have to care, we're Congress. (S877: The Shut up and Eat Your spam act of 2003) -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Where doc for STORAGE LINKAGE=SYSTEM?
Some problems solved by looking at the V1R12.0 PDF online. LINKAGE=SYSTEM is documented, but BRANCH=SVC is still there, and no discussion of LINKAGE for STORAGE RELEASE. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of Charles Mills Sent: Tuesday, August 31, 2010 6:11 PM To: IBM-MAIN@bama.ua.edu Subject: Where doc for STORAGE LINKAGE=SYSTEM? I'm looking at page 119 of z/OS V1R10.0 MVS Assembler Services SET-WTO, the STORAGE macro. There is a very brief mention of LINKAGE=SYSTEM. However, at the beginning of the chapter, where it discusses register usage, there is only a description of LINKAGE=SVC and LINKAGE=BRANCH. What am I not seeing? FWIW, the whole beginning of the chapter seems a little garbled. There are introductory sections called Input and Output Register Information that appear to be correct only for LINKAGE=SVC, and under Input Register Information for LINKAGE=SVC there is a reference to something called BRANCH=SVC (which is contradictory and not supported by the macro). Further, there is no documentation for LINKAGE= with STORAGE RELEASE. Is it not supported or is the documentation wrong? -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html