HI,

Small activity in the MF forum. So I decide to send email also to the
forums.
If you do not like it, delete it.


One user in France ask me to enable send script from MF to PC even if the
user do not have in his PC defined emulators or replicators PC device.
The users separate the functionality of the PC, one for disks and one for
tapes.
So, I upload new code which enable sending from MF to PC scripts using tape
volser.
The tape volser must be defined in MPCOPT MFNetDisk parameters file
(TAPELOC).
I put in SAMPLIB new example MPCCLT7 which demonstrate how to send to PC
from MF using tape.

The MPCCLT7 sample:

//SHAI1CLT JOB 0,XXX,CLASS=A,MSGCLASS=X
//         EXEC PGM=MPCCLT

//STEPLIB DD DSN=MPC.V013.LOAD,DISP=SHR

//DDIN DD *

* SAMPLE

PCSCRT=MPT032,CMD=DIOACT

//DDOUT DD SYSOUT=X

//SYSUDUMP DD SYSOUT=X

The MPCOPT relevant paraemter:
TAPELOC  VOL=MPT032,COUNT=32,         // MPT032-MPT063 FOR NONMTL

        PCIP=169.254.0.1,SCRATCH=Y

You can see that the IP is taken from the TAPELOC and the PCIP value.

I promise CCW trace. This is for advance user.


Implementation is success, learning is investment
MFNetDisk PRO becomes PRO because of the stacked CCW new feature.
Only reading variable length records cause me performance issue.
Compression of PDS uses the variable length record reading. Why, because
each member can end before end the block and this make the record as
variable record.
So, I decide to study and implement a better MFNetDisk process of PDS.
Typical CCW for compression before using the PCI bit.
This following CCW trace is MFNetDisk trace.
This is the real sequence of CCW receive and process by MFNetDisk before I
try a change in the code.
What you see in the trace is that MFNetDisk did some trick with the PCI by
asking the PCI routine of the access method to ignore the changing of CCW as
MF is doing using the PCI.
The CCWS before the trick are:
SEEK
DEFINE EXTENT
SET SECTORE
SEARCH ID
READ KEY DATA (length 0X7FF8 with PCI bit on, bit 8 in the CCW flag).
READ MT COUNT
296
READ SECTOR
HOST=192.168.100.2 TaskId=3e29a
===>July 16,2011-23:21:00, CcwReqID=1, Ccwfmt=0
CCWReal=00ffc720, CCWCmd=07, CCWFlg=40, CCWLen=0006
Position: cc=3 hh=c r=3 enumpos=PosKey
Data=00000003000C35366340000000000000
Csw=00FFC7280C000000
===>July 16,2011-23:21:00, CcwReqID=1, Ccwfmt=0
CCWReal=00ffc728, CCWCmd=63, CCWFlg=40, CCWLen=0010
Position: cc=3 hh=c r=3 enumpos=PosKey
Data=50CC000000000000000200000031000E
Csw=00FFC7300C000000
===>July 16,2011-23:21:00, CcwReqID=1, Ccwfmt=0
CCWReal=001da988, CCWCmd=23, CCWFlg=60, CCWLen=0001
Position: cc=3 hh=c r=3 enumpos=PosCount
Data=6F353631600000000000000000001DA9
Csw=001DA9900C000000
===>July 16,2011-23:21:00, CcwReqID=1, Ccwfmt=0
CCWReal=001da990, CCWCmd=31, CCWFlg=60, CCWLen=0005
Position: cc=3 hh=c r=3 enumpos=PosKey
Data=0003000C0335360E6C00000000000000
Csw=001DA9A04C000000
===>July 16,2011-23:21:00, CcwReqID=1, Ccwfmt=0
CCWReal=001da9a8, CCWCmd=0e, CCWFlg=6c, CCWLen=7ff8
Position: cc=3 hh=c r=4 enumpos=PosCount
Data=09404040404040404040404040404040
Csw=001DA9B00C004C04
===>July 16,2011-23:21:00, CcwReqID=1, Ccwfmt=0
CCWReal=001da9b0, CCWCmd=92, CCWFlg=40, CCWLen=0008
Position: cc=3 hh=c r=4 enumpos=PosKey
Data=0003000C040033F435362220001DA9E8
Csw=001DA9B80C000000
===>July 16,2011-23:21:00, CcwReqID=1, Ccwfmt=0
CCWReal=001da9c0, CCWCmd=22, CCWFlg=20, CCWLen=0001
Position: cc=3 hh=c r=4 enumpos=PosKey
Data=A403000B050033F435362220001DA9C8
Csw=001DA9C80C000000
freetrk Task 3e29a cc 0003 hh 0c ix 0
****End Of Chain****
I made many changes and tricks in MFNetDisk to make the CCW much faster for
MFNetDisk.
So, I decide to implement new feature which will let the standard PCI to
change the CCWS as it is doing in normal real disk processing.
This was a very complicate change but I wanted to check if the improvement
will be significant I will go for it.
To know what the PCI routine does with real disks look at the trace
MFNetDisk done after letting the PCI to add CCWS.
297
The PCI add on the flight READ KEY DATA CCW and READ MT READ COUNT CCW every
time the bit of PCI is ON and the MF called it.
This continues until END OF FILE of the PDS or END OF CYLINDER unit check
status.
Looking at the CCWREAL=00000000, this is the pre fetch MFNetDisk did. After
MF called the PCI the new CCW READ KEY DATA and CCW READ MT COUNT will be
added, and MFNetDisk will update the CCWREAL to the real ADDRESS in the CCW.
After few days of writing and debugging the new feature I successfully run
the compress.
The result was poor. In most case the old way of process one block at a time
was faster than making the pre fetch of record and reduce the accessing of
the PC.
Why this happen?
The answer is simple, the PCI routine. MFNetDisk must wait to the PCI
routine to end. If you continue to run without waiting for the PCI, the CCW
may not be changed.
So, I wait and check the indication for the PCI end. Without wait I see big
improvement using compression of SYS1.LINKLIB.
The improvement was of 30 percent. But most of the standard small to medium
PDS size, there was not improvement and the response time was higher.
Why I use my CCW trace and do not use GTF trace?
As, you may known, MFNetDisk supports GTF trace. But I try to use GTF trace
and GTF trace using the PCI become a mess.
So, another good use for MFNetDisk. Do better trace with MFNetDisk.
So, I keep my new code because you can not be sure when you will need it
again.
298
As I said, implementation is success, study is investment.
299
HOST=192.168.100.2 TaskId=20d
===>July 16,2011-02:45:34, CcwReqID=1, Ccwfmt=0
CCWReal=00ffc120, CCWCmd=07, CCWFlg=40, CCWLen=0006
Position: cc=33 hh=1 r=3 enumpos=PosCount
Data=00000033000135366340000000000000
Csw=00FFC1280C000000
===>July 16,2011-02:45:34, CcwReqID=1, Ccwfmt=0
CCWReal=00ffc128, CCWCmd=63, CCWFlg=40, CCWLen=0010
Position: cc=33 hh=1 r=3 enumpos=PosCount
Data=50CC000000000000003300000033000E
Csw=00FFC1300C000000
===>July 16,2011-02:45:34, CcwReqID=1, Ccwfmt=0
CCWReal=00071988, CCWCmd=23, CCWFlg=60, CCWLen=0001
Position: cc=33 hh=1 r=1 enumpos=PosCount
Data=00353631600000000000000000000719
Csw=000719900C000000
===>July 16,2011-02:45:34, CcwReqID=1, Ccwfmt=0
CCWReal=00071990, CCWCmd=31, CCWFlg=60, CCWLen=0005
Position: cc=33 hh=1 r=1 enumpos=PosKey
Data=00330001023536924000000000000000
Csw=000719980C000000
===>July 16,2011-02:45:34, CcwReqID=1, Ccwfmt=0
CCWReal=00071990, CCWCmd=31, CCWFlg=60, CCWLen=0005
Position: cc=33 hh=1 r=2 enumpos=PosKey
Data=00330001023536924000000000000000
Csw=000719A04C000000
===>July 16,2011-02:45:34, CcwReqID=1, Ccwfmt=0
CCWReal=000719d0, CCWCmd=92, CCWFlg=40, CCWLen=0008
Position: cc=33 hh=1 r=3 enumpos=PosKey
Data=0033000103000018C33C41F001905830
Csw=000719D80C000000
===>July 16,2011-02:45:34, CcwReqID=1, Ccwfmt=0
CCWReal=000719a8, CCWCmd=0e, CCWFlg=6c, CCWLen=7ff8
Position: cc=33 hh=1 r=4 enumpos=PosCount
Data=2080000000010010D4D7C3E7C3E64040
Csw=000719B00C007FE0
===>July 16,2011-02:45:34, CcwReqID=1, Ccwfmt=0
CCWReal=000719b0, CCWCmd=92, CCWFlg=40, CCWLen=0008
Position: cc=33 hh=1 r=4 enumpos=PosKey
Data=00330001040000FB0004502D0008581D
Csw=000719B80C000000
===>July 16,2011-02:45:34, CcwReqID=1, Ccwfmt=0
CCWReal=00000000, CCWCmd=0e, CCWFlg=68, CCWLen=7ff8
Position: cc=33 hh=1 r=5 enumpos=PosCount
Data=80FA0100000000000000000000000000
Csw=000000080C007EFD
===>July 16,2011-02:45:34, CcwReqID=1, Ccwfmt=0
CCWReal=00000000, CCWCmd=92, CCWFlg=40, CCWLen=0008
Position: cc=33 hh=1 r=5 enumpos=PosKey
Data=00330001050000161047E0B26A58E080
Csw=000000080C000000
===>July 16,2011-02:45:34, CcwReqID=1, Ccwfmt=0
CCWReal=000719a8, CCWCmd=0e, CCWFlg=6c, CCWLen=7ff8
Position: cc=33 hh=1 r=6 enumpos=PosCount
Data=801502F5F6F9F5D7D4C2F0F140010709
Csw=000719B00C007FE2
===>July 16,2011-02:45:34, CcwReqID=1, Ccwfmt=0
CCWReal=000719b0, CCWCmd=92, CCWFlg=40, CCWLen=0008
Position: cc=33 hh=1 r=6 enumpos=PosKey
Data=00330001060000153160000719A04C00
Csw=000719B80C000000
===>July 16,2011-02:45:34, CcwReqID=1, Ccwfmt=0
CCWReal=00000000, CCWCmd=0e, CCWFlg=68, CCWLen=7ff8
Position: cc=33 hh=1 r=7 enumpos=PosCount
Data=801484800100F5F6F9F6F2F3F4F0F040
Csw=000000080C007FE3
===>July 16,2011-02:45:34, CcwReqID=1, Ccwfmt=0
CCWReal=00000000, CCWCmd=92, CCWFlg=40, CCWLen=0008
Position: cc=33 hh=1 r=7 enumpos=PosKey
Data=0033000107000014F800000000208000
Csw=000000080C000000
===>July 16,2011-02:45:35, CcwReqID=1, Ccwfmt=0
CCWReal=000719a8, CCWCmd=0e, CCWFlg=6c, CCWLen=7ff8
Position: cc=33 hh=1 r=8 enumpos=PosCount
Data=01000002000400000600000040002730
Csw=000719B00C007FE4
===>July 16,2011-02:45:35, CcwReqID=1, Ccwfmt=0
CCWReal=000719b0, CCWCmd=92, CCWFlg=40, CCWLen=0008
Position: cc=33 hh=1 r=8 enumpos=PosKey
Data=0033000108002730001535360E680000
Csw=000719B80C000000
===>July 16,2011-02:45:35, CcwReqID=1, Ccwfmt=0
CCWReal=00000000, CCWCmd=0e, CCWFlg=68, CCWLen=7ff8
Position: cc=33 hh=1 r=9 enumpos=PosCount
Data=90ECD00C18BF41CB0FFF41CC000141AC
Csw=000000080C0058C8
===>July 16,2011-02:45:35, CcwReqID=1, Ccwfmt=0
CCWReal=00000000, CCWCmd=92, CCWFlg=40, CCWLen=0008
Position: cc=33 hh=1 r=9 enumpos=PosKey
Data=00330001090000FC0000000000000000
Csw=000000080C000000
===>July 16,2011-02:45:35, CcwReqID=1, Ccwfmt=0
CCWReal=000719a8, CCWCmd=0e, CCWFlg=6c, CCWLen=7ff8
Position: cc=33 hh=1 r=a enumpos=PosCount
Data=02000000000000EC0000000000000000
Csw=000719B00C007EFC
===>July 16,2011-02:45:35, CcwReqID=1, Ccwfmt=0
CCWReal=000719b0, CCWCmd=92, CCWFlg=40, CCWLen=0008
Position: cc=33 hh=1 r=a enumpos=PosKey
Data=003300010A000060E3C6406040D4E5F0
Csw=000719B80C000000
===>July 16,2011-02:45:35, CcwReqID=1, Ccwfmt=0
CCWReal=00000000, CCWCmd=0e, CCWFlg=68, CCWLen=7ff8
Position: cc=33 hh=1 r=b enumpos=PosCount
Data=0E000000000000500000000000000000
Csw=000000080C007F98
===>July 16,2011-02:45:35, CcwReqID=1, Ccwfmt=0
CCWReal=00000000, CCWCmd=92, CCWFlg=40, CCWLen=0008
Position: cc=33 hh=1 r=b enumpos=PosKey
Data=003300010B000000D6D540C6C1C9D3C5
Csw=000000080C000000
===>July 16,2011-02:45:35, CcwReqID=1, Ccwfmt=0
CCWReal=000719a8, CCWCmd=0e, CCWFlg=6c, CCWLen=7ff8
Position: cc=33 hh=1 r=c enumpos=PosCount
Data=02000000000000EC0000000000000000
Csw=000719B00D007FF8
freetrk Task 20d cc 0033 hh 01 ix 1
****End Of Chain**** Task 20d DevNum 0

Thanks,
Shai

----------------------------------------------------------------------
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

Reply via email to