PROGxx and LLA Enhancements z/os 1.12

Similar documents
Enterprise Workload Manager Overview and Implementation

IBM Client Center z/vm 6.2 Single System Image (SSI) & Life Guest Relocation (LGR) DEMO

The Dynamics of z/os. Peter Relson. Corporation, Poughkeepsie, NY. z/os Core Technology Design. (845)

z/osmf 2.1 User experience Session: 15122

DFSMSdss Best Practices in an SMS Environment

SHARE in Pittsburgh Session 15801

Greg Daynes z/os Software Deployment

z/osmf 2.1 Advanced Programming

IBM Tivoli Directory Server for z/os. Saheem Granados, CISSP IBM Monday, August 6,

z/os Data Set Encryption In the context of pervasive encryption IBM z systems IBM Corporation

Using FlashCopy in the DB2 Utilities

9708: Shaping the Future of IBM Documentation Delivery and Management

Now Available in z/os V2R2 JES3: OUTDISP

Advanced Technical Skills (ATS) North America. John Burg Brad Snyder Materials created by John Fitch and Jim Shaw IBM Washington Systems Center

The In's and Out's of DFSMSdss Exit Processing and Patch Options

z/vm 6.3 A Quick Introduction

TPF Users Group Code Coverage in TPF Toolkit

TPF Users Group - Fall 2009 TPF Toolkit Updates

Mary Komor Development Tools Subcommittee

z/vm 6.3 Installation or Migration or Upgrade Hands-on Lab Sessions

Dynamic Routing: Exploiting HiperSockets and Real Network Devices

Using WebSphere Application Server Optimized Local Adapters (WOLA) to Integrate COBOL and zaap-able Java

Managing LDAP Workloads via Tivoli Directory Services and z/os WLM IBM. Kathy Walsh IBM. Version Date: July 18, 2012

IEBCOPY Teaching an Old Dog New Tricks

KVM for IBM z Systems

ZVM20: z/vm PAV and HyperPAV Support

Framework for Doing Capacity Sizing on System z Processors

WebSphere Application Server Base Performance

Chris Filachek Database/TPFDF Subcommittee. AIM Enterprise Platform Software IBM z/transaction Processing Facility Enterprise Edition 1.1.

Josh Wisniewski Development Tools Subcommittee

Thomas Petrolino IBM Poughkeepsie Session 17696

zpcr Capacity Sizing Lab

zpcr Capacity Sizing Lab

Hardware Cryptography and z/tpf

IBM System Storage DS8870 Release R7.3 Performance Update

TPF Users Group Fall 2008 Title: z/tpf Support for OpenLDAP

TPFUG JavaScript Object Notation (JSON)

CPU MF Counters Enablement Webinar

Dynamic Routing: Exploiting HiperSockets and Real Network Devices

Best Practices for WebSphere Application Server on System z Linux

Using z/os Macros in Metal C

AIM Enterprise Platform Software IBM z/transaction Processing Facility Enterprise Edition 1.1.0

TPF Users Group Spring 2008 Title: z/tpfdf Status Update

z/tpf Maintenance Packaging, Content, and Web Resources

z/tpf Descriptor Definition Projects

Chris Filachek Database/TPFDF Subcommittee

IBM Multi-Factor Authentication in a Linux on IBM Z environment - Example with z/os MFA infrastructure

z/vm Resource Manager

Lab Exercise: z/osmf Incident Log Session ID: Part of 15814, 15815, and 15604

WSC Experiences with IPSec on the ziip Processor

IBM Mainframe Life Cycle History

How Smarter Systems Deliver Smarter Economics and Optimized Business Continuity

IBM Application Runtime Expert for i

DFSMS Basics: How to Write ACS Routines Hands-on Lab Workbook

z/vm Data Collection for zpcr and zcp3000 Collecting the Right Input Data for a zcp3000 Capacity Planning Model

Installing WDI v3.3 on z/os

TPF Debugger / Toolkit update PUT 12 contributions!

# All Security All The Time: System z Security Update for CA ACF2, IBM RACF, CA Top Secret

TSO/E LOGON: What Are My Options?

Framework for Doing Capacity Sizing for System z Processors

AIM Enterprise Platform Software IBM z/transaction Processing Facility Enterprise Edition 1.1.0

z/tpf Communications Enhancements

DFSMS Basics: How to Write ACS Routines Part 2 - Hands-on Lab (Section 2)

Name: Mark Gambino Venue: SOA Subcommittee

z/vm Paging with SSD and Flash- Type Disk Devices

zpcr Capacity Sizing Lab

IBM. MVS Installation Exits. z/os. Version 2 Release 3 SA

Getting Started with z/osmf Resource Monitoring

VM Parallel Access Volume (PAV) and HyperPAV Support

z/tpf Enhanced HTTP Client and High Speed Connector Enhancements

A Pragmatic Path to Compliance. Jaffa Law

Setting up DB2 data sharing the easy way

TPF Users Group Fall 2006

Loading Files with Programs: Version Control in the File System

zenterprise exposed! Experiences with zenterprise Unified Resource Manager

zpcr Capacity Sizing Lab

TPF Toolkit for WebSphere Studio V3 V Using an Internal Update Site

64 bit virtual in z/vse V5.1

Business Events Update

TPF Users Group Fall 2007

z/os V1.13, z/os Management Facility V1.13 Preview

Setting up IBM zaware Step by Step

Active Energy Manager. Image Management. TPMfOSD BOFM. Automation Status Virtualization Discovery

IBM System Storage IBM :

What's New in BCPii in z/os 2.1? Full REXX Support and Faster Data Retrieval Steve Warren

Oracle PeopleSoft Applications for IBM z Systems

SAP on IBM z Systems. Customer Conference. April 12-13, 2016 IBM Germany Research & Development

V6R1 System i Navigator: What s New

TPF Users Group Fall 2007 Title: DASD External Copy Services Subtitle: Group Update -- APAR PJ31865

Lawson M3 7.1 Large User Scaling on System i

Finding your Way The z/vm Website, Documentation and Other Hints for the New User

Introduction to. z/vm and Linux on System z. Malcolm Beattie Linux Technical Consultant, IBM UK. From a presentation by Ralf Schiefelbein, IBM Germany

Introduction and Getting Started with the IBM Health Checker for z/os

IBM z/os Early Support Program (ESP)

Back to the Basics: ServerPac 101

Behind the Glitz - Is Life Better on Another Database Platform?

AIM Enterprise Platform Software IBM z/transaction Processing Facility Enterprise Edition 1.1.0

SAP AddOn Quantity Distribution. by Oliver Köhler, SAP Germany

REST APIs on z/os. How to use z/os Connect RESTful APIs with Modern Cloud Native Applications. Bill Keller

Computing as a Service

Transcription:

IBM Systems & Technology Group PROGxx and LLA Enhancements z/os 1.12 Session 9703 Peter Relson IBM Poughkeepsie relson@us.ibm.com 9 August 2011 Permission is granted to SHARE Inc. to publish this presentation paper in the SHARE Inc. proceedings; IBM retains the right to distribute copies of this presentation to whomever it chooses. 2011 IBM Corporation 1

Trademarks The following are trademarks of the International Business Machines Corporation in the United States and/or other countries. AIX CICS DB2 DFSMSdss DFSMShsm DFSMSrmm DS6000 DS8000 FICON FlashCopy HiperSockets IBM IBM eserver IBM logo IMS Infiniband Language Environment Parallel Sysplex ProductPac RACF Redbooks REXX RMF ServerPac SystemPac System Storage System z System z9 System z10 System z10 Business Class Tivoli WebSphere z9 z10 z10 BC z10 EC z/os zseries Registered trademarks of IBM Corporation The following are trademarks or registered trademarks of other companies. InfiniBand is a registered trademark of the InfiniBand Trade Association (IBTA). Intel is a trademark of the Intel Corporation in the United States and other countries. Linux is a trademark of Linux Torvalds in the United States, other countries, or both. Java and all Java-related trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc., in the United States and other countries. Microsoft, Windows and Windows NT are registered trademarks of Microsoft Corporation. UNIX is a registered trademark of The Open Group in the United States and other countries. All other products may be trademarks or registered trademarks of their respective companies. The Open Group is a registered trademark of The Open Group in the US and other countries. Notes: Performance is in Internal Throughput Rate (ITR) ratio based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput that any user will experience will vary depending upon considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve throughput improvements equivalent to the performance ratios stated here. IBM hardware products are manufactured from new parts, or new and serviceable used parts. Regardless, our warranty terms apply. All customer examples cited or described in this presentation are presented as illustrations of the manner in which some customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics will vary depending on individual customer configurations and conditions. This publication was produced in the United States. IBM may not offer the products, services or features discussed in this document in other countries, and the information may be subject to change without notice. Consult your local IBM business contact for information on the product or services available in your area. All statements regarding IBM's future direction and intent are subject to change or withdrawal without notice, and represent goals and objectives only. Information about non-ibm products is obtained from the manufacturers of those products or their published announcements. IBM has not tested those products and cannot confirm the performance, compatibility, or any other claims related to non-ibm products. Questions on the capabilities of non-ibm products should be addressed to the suppliers of those products. Prices subject to change without notice. Contact your IBM representative or Business Partner for the most current pricing in your geography. This presentation and the claims outlined in it were reviewed for compliance with US law. Adaptations of these claims for use in other geographies must be reviewed by the local country counsel for compliance with local laws. 2

Abstract The presentation will cover the new functions made available within Contents Supervisor component in z/os 1.12. PROGxx enhancements are in the areas of dynamic exits, dynamic LNKLST, dynamic LPA, and defaults. There are also LLA enhancements. 3

Agenda Library Lookaside (LLA) Dynamic Exits LLA Busy LLA restart improvement PROGxx Dynamic exits Dynamic LNKLST Dynamic LPA Defaults Summary 4

Agenda Library Lookaside (LLA) Dynamic Exits LLA Busy LLA restart improvement PROGxx Dynamic exits Dynamic LNKLST Dynamic LPA Defaults 5

LLA Dynamic Exits CSVLLIX1, CSVLLIX2 CSVLLIX1 (LLA fetch exit) and CSVLLIX2 (LLA staging exit) are added to the dynamic exits facility, so they can be managed as are other dynamic exits through PROGxx parmlib members The default for each: when the EXIT1 or EXIT2 statement in CSVLLAxx does not indicate OFF, if no exit routines are associated with the exit then the system will add exit routine CSVLLIX1 to the first and/or CSVLLIX2 to the second. This preserves current behavior 6

LLA Dynamic Exits (cont) If exit routine(s) have been associated via PROGxx parmlib member and/or SETPROG command, then the default processing is not done. In that case, all manipulations are to be done via the dynamic exits facility Once the exit routines are managed by your use of PROGxx for those exits, use of the EXIT statements within CSVLLAxx is no-op'd. Thus you do not disable the EXIT by changing EXIT1 or EXIT2 statement in CSVLLAxx to indicate OFF but use the dynamic exits facility (such as the EXIT statement in PROGxx with the DISABLE option) 7

Agenda Library Lookaside (LLA) Dynamic Exits LLA Busy LLA restart improvement PROGxx Dynamic exits Dynamic LNKLST Dynamic LPA Defaults 8

LLA Busy LLA is manipulated by a modify command Prior to z/os 1.12, if one modify is in-process when another is received, the second get a busy response With z/os 1.12, up to 255 modify's can be started without getting busy (a 256 th would get busy ). Requests received while an early one is inprocess get queued and processed in turn; the requestor does not get a busy response. 9

Agenda Library Lookaside (LLA) Dynamic Exits LLA Busy LLA restart improvement PROGxx Dynamic exits Dynamic LNKLST Dynamic LPA Defaults 10

LLA Automatic Restart Suppose SUB=MSTR is incorrectly omitted when LLA starts, such as START LLA,nn=XY which asks to use parmlib member CSVLLAXY LLA detects the omission of the recommended SUB=MSTR and terminates this START and begins a new one adding SUB=MSTR Prior to z/os 1.12: it did not propagate nn=xy so the restart was with the default parmlib member. This likely was not what you wanted. With z/os 1.12: it does what you surely want: propagate nn=xy so the restart uses parmlib member CSVLLAXY 11

LLA Restart z/os 1.13 Suppose you started LLA (e.g., S LLA,LLA=XY,SUB=MSTR) then terminated LLA (P LLA) and then restarted LLA but omitted the LLA= specification (S LLA,SUB=MSTR) Prior to z/os 1.13, this would default to no parmlib member and LLA would use its default of only the LNKLST. As of z/os 1.13, this now defaults to the parmlib member that you successfully used the last time this IPL that you started LLA (CSVLLAXY in the example) If you truly want only the LNKLST when you restart, you may specify LLA=NONE when you start LLA (S LLA,LLA=NONE,SUB=MSTR). 12

Agenda Library Lookaside (LLA) Dynamic Exits LLA Busy LLA restart improvement PROGxx Dynamic exits Dynamic LNKLST Dynamic LPA Defaults 13

Dynamic Exits REPLACE PARAM ExitType FoundButError 14

Dynamic Exits Replace Have you ever wanted to be able to change an exit routine? You can do it today using DELETE then ADD, or MODIFY to INACTIVE followed by MODIFY back to ACTIVE. But both of these have the disadvantage that there is some time before the re-add when the exit routine does not exist at all. This can be a show-stopper for a security-related exit routine where it could be vital that the exit routine always be active The REPLACE function of the EXIT ADD statement in PROGxx or SETPROG EXIT,REPLACE command, or the CSVDYNEX REQUEST=REPLACE macro addresses this situation. When REPLACEing an active exit routine, there is always one (and only one) copy of an exit routine that gets control at the exit point. Not 0. Not 2. 15

Dynamic Exits Param An exit routine might be able to take advantage of having a constant parameter passed to it This can be defined on the EXIT ADD statement of PROGxx or the SETPROG EXIT,ADD command, or by the CSVDYNEX REQUEST=ADD macro The 8-byte parameter is placed into access registers 0/1 on entry to the exit routine (this is a bit strange, but is the only place available for all situations) DISPLAY PROG,EXIT,EXITNAME=xx,DIAG displays the data (it assumes the data is printable, so you will only see the data if it is printable; for this reason, we recommend to exploiters that they use printable data) 16

Dynamic Exits ExitType There are two main types of exits Installation Exits (type is installation ) Exits intended for use by programs (type is program ) z/os 1.12 provides functionality by which The owner of an exit can identify which of these types their exit is (many exits are not yet identified) The DISPLAY PROG,EXIT command can ask to display All exits marked as installation All exits either marked as installation or not marked at all. This is the NotProgram option as it indicates that the exit is not marked as a program exit You might be interested only in NotProgram exits 17

Dynamic Exits FoundButError On Exit ADD / REPLACE, you can request that the system issue a message (or not) when there is an error. A new option is added, Message=FoundButError, This indicates to write a message on any of the cases covered by Message=Error except for the case of Exit routine not found This was used in the implementation of the LLA dynamic exits, but could be useful to other dynamic exits exploiters 18

Agenda Library Lookaside (LLA) Dynamic Exits LLA Busy LLA restart improvement PROGxx Dynamic exits Dynamic LNKLST Dynamic LPA Defaults 19

Dynamic LNKLST Update Delay LNKLST UPDATE (via PROGxx parmlib member or SETPROG command) is unpredictably dangerous in uncounted numbers of ways, yet we know that you like to try it. Part (not all) of the danger comes from in-flight processing that runs aground when the old LNKLST is closed and freed With the DELAY operand value (numbers of seconds), you can ask that the completion of this command wait the specified time before closing (and hence freeing). This gives in-flight requests additional time to complete. The command itself will not complete until this delay has been taken into account 20

Agenda Library Lookaside (LLA) Dynamic Exits LLA Busy LLA restart improvement PROGxx Dynamic exits Dynamic LNKLST Dynamic LPA Defaults 21

Dynamic LPA AddAlias SVC Number LPA Add by fully qualified pathname Deferred LPA wait Query Only 22

Dynamic LPA AddAlias When you are adding a module that has aliases, it is up to you whether you want dynamic LPA to add those aliases or not (or perhaps just do the main name). You provide all the names that you want processed. Prior to z/os 1.12, If you do want all the aliases, you have to know what they are and specify them. With z/os 1.12, if you want all the aliases, you can either specify them all or you can simply request AddAlias via (parmlib) PROGxx: LPA ADD MOD(...) ADDALIAS (command) SETPROG LPA ADD MOD(...) ADDALIAS (macro) CSVDYLPA REQUEST=ADD,ADDALIAS=YES. 23

Dynamic LPA SVC Number When replacing an SVC routine on behalf of some authorized application, it can be a nuisance even if you can get the module into storage. The SVCUPDTE programming interface has existed for a long time to hook together the module with the SVC table processing. With z/os 1.12, that replacement is simplified in some cases, as you can specify on a dynamic LPA operation both to fetch the module and also to update the SVC table using the SVC number information that you provide. Note that this does not help much with new SVCs because this function updates only the module address. But SVCs usually have other attributes (such as the type ). Those other attributes are not supported by this mechanism. 24

Dynamic LPA by Fully Qualified Pathname Prior to z/os 1.12, dynamic LPA modules could come from a PDS or a PDSE. But they could not come from a file system. The CSVDYLPA macro is enhanced to allow you to indicate the file from which the module is to be fetched by specifying the fully qualified file system pathname CSVDYLPA REQUEST=ADD,..., PATHNAME=pathname,PATHNAMELEN=pnl This functionality is not provided for use in PROGxx or by the SETPROG command. It is available only by the programming interface. 25

Dynamic LPA Deferred LPA Wait LPA built during IPL (PLPA, MLPA, FLPA) cannot use PDSEs. Dynamic LPA can use PDSEs. Some applications might need to use PDSE program objects in LPA and need to know when it is safe to do so Prior to z/os 1.12, you could add PDSE program objects to LPA at the tail end of the IPL (COMMNDxx parmlib member) but an application could not know that things were ready for it. This left it up to you to sequence these events With z/os 1.12, you can have LPA ADD statements in your IPL-time PROGxx specification (prior to z/os 1.12 these specifications were not processed). Now they will be, at a deferred point late in the IPL. 26

Deferred LPA Wait (cont) New function is provided for an application to ask that it wait until all of the deferred ADD processing is complete Thus you can set up for this application by placing data into the IPL-time PROGxx, and the application can wait, knowing that when it wakes up the ADD processing is done and the application can use what you provided. If the ADD processing is already done when the WAIT request is received, the WAIT is a no-op 27

Deferred LPA Wait (cont) If the application can be changed to do things itself: CSVDYLPA REQUEST=QUERYDEFLPA, DEFLPASTATE=the_state CLI the_state,csvdylpadeflpacomplete JE deferred_lpa_is_complete CSVDYLPA REQUEST=DEFLPAWAIT (requires authorization) or LINK EP=CSVDLPAW (does not require authorization) (The QUERY is optional. You could just do the WAIT and it works fine if deferred LPA is already complete) If the application is not changed EXEC PGM=CSVDLPAW (a pre-step in a job if a subsequent step would have required waiting) 28

Dynamic LPA Query Only When adding an entire library of parts to dynamic LPA (or a subset using a mask other than ), have you wondered how much storage ((E)CSA, (E)SQA) this was going to take, in case it was too much? The CSVDYLPA macro for REQUEST=ADD with MODINFOTYPE=MEMBERMASK supports a QueryOnly=YES option. It does much of the processing that normal REQUEST=ADD does, except it stops short of doing the actual ADD, instead just keeping track of how much storage would have been used if the ADD were done Output is mapped by new DSECT LPMEAQ within macro CSVLPRET The idea is to use this prior to an IPL so that you can adjust your (E)CSA and (E)SQA amounts accordingly 29

Agenda Library Lookaside (LLA) Dynamic Exits LLA Busy LLA restart improvement PROGxx Dynamic exits Dynamic LNKLST Dynamic LPA Defaults 30

PROGxx Defaults Sometimes there are options that you know you always want, but they are not required and you might forget. New syntax is provided to let you define some things to be defaulted For example, when creating a new LNKLST set SETPROG LNKLST DEFINE NAME(xxx) You almost always want to copy from what you currently have, thus adding COPYFROM(CURRENT) If you forget, you get a practically useless LNKLST set that has only the SYS1.xxxLIB data sets (more or less) This is one of the defaults that you can now define 31

PROGxx Defaults (cont) When I create a LNKLST set, always do COPYFROM(CURRENT) DEFAULTS LNKLST COPYFROMCUR When I create a LNKLST set, make me always specify COPYFROM (I will identify the source to copy from) DEFAULTS LNKLST REQCOPYFROM When I do dynamic LPA, always process aliases for the modules I specify whether I provide the aliases or not DEFAULTS LPA ADDALIAS Default DISPLAY PROG,EXIT to display only exits of a particular type DEFAULTS EXIT INSTALLATION NOTPROGRAM ALL 32

PROGxx Defaults (cont) The defaults apply to Statements within PROGxx The SETPROG command The defaults do not apply to the programming interfaces (CSVDYNEX, CSVDYNL, CSVDYLPA) 33

Coexistence Considerations There is a coexistence consideration: The new PROGxx-specified functions will fit into one of two cases: Rejected by an earlier release (subsequent parmlib statements in the same member will still be processed) Accepted by the earlier release (the function was shipped but not documented and possibly not fully tested at that earlier release) Primarily due to the second bullet above, even though it is somewhat of a pain if you need to fall back, we recommend that you use a unique parmlib member for specifying the functions new in R12. 34

Summary There are many CSV-related enhancements in the areas of LLA Dynamic Exits Dynamic LNKLST Dynamic LPA PROGxx in general 35

Publications z/os V1R12.0 MVS System Commands SA22-7627- 13 z/os V1R12.0 MVS Initialization and Tuning Reference SA22-7592-21 z/os V1R12.0 MVS Installation Exits SA22-7593-16 z/os V1R12.0 MVS Programming Authorized Assembler Services Reference (ALESERV DYNALLOC) - SA22-7609-11 36