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

Reply via email to