Interesting, John. I'd not heard the term "Transfer Mode" used before. And with zHPF something (at least vaguely) analogous to CCWs are TCWs. (And no I don't really understand them except they're supposed to represent a more efficient channel program.)
Cheers, Martin Martin Packer, zChampion, Principal Systems Investigator, Worldwide Banking Center of Excellence, IBM +44-7802-245-584 email: [email protected] Twitter / Facebook IDs: MartinPacker Blog: https://www.ibm.com/developerworks/mydeveloperworks/blogs/MartinPacker From: John Eells <[email protected]> To: [email protected] Date: 10/12/2013 15:59 Subject: Re: "hexadecimal"? Sent by: IBM Mainframe Discussion List <[email protected]> Skip Robinson wrote: > Not sure what's meant by having to chain CCWs. I just finished updating an > old RYO program that writes 80 byte records to any device specified > because I needed to test >32K blocks on tape. I merely added a DCBE with > BLKSIZE=0 and pointed to it in the existing DCB. No other changes. Created > a tape file with BLKSIZE=261760 (256K) (as reported by RMM) by specifying > that block size in JCL. No attempt at chaining, which I would not know how > to do anyway. <snip> There are two CCW bits, Chain Command (CC) and Chain Data (CD), that are used when chaining CCWs to construct a channel program. If I recall correctly, CC causes the next CCW's command to run and CD causes the data address part of the next CCW to be used to continue the operation started in a preceding CCW. No new SSCH is needed for the channel to process the chained CCWs. An entire channel program can run to completion with single start. There are a variety of reasons to chain CCWs, among them performance (no redispatch is required to issue the next CCW), particularly for disk. "Simplicity" probably isn't one of them; thank goodness for access methods! You can also used Program Controlled Interrupts (PCI) to dynamically append to a running channel program. Program Fetch does this for load modules, which have text records that vary in length. If the system has enough cycles to spare, you can get an entire load module with a single channel program this way, as the lengths are retrieved and used to build CCWs on the fly. If the system is too busy, the channel program ends and a new one is built to pick up where it left off until the entire module has been fetched. I have not yet bothered to learn how any of this is done in transfer mode (with zHPF), which doesn't actually use CCWs... -- John Eells IBM Poughkeepsie ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN Unless stated otherwise above: IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
