Re: CS/CDS instruction

2023-03-15 Thread John Dravnieks
On z/OS 2.2 or later, the result from STFLE is stored in the PSA at offset 200 
(X'C8')  - look at IHAPSAE  field name FLCEFACILITIESLIST  (and this is a PI 
field)

Kind regards
John

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Routine using TIMEUSED called Statically gets different results

2023-03-15 Thread Tony Harminc
On Wed, 15 Mar 2023 at 14:48, Chris P Fried <
04a1f5bf8721-dmarc-requ...@listserv.ua.edu> wrote:

> Regarding:
>
> AGAIN  TIMEUSED  ...
>  JNZ  Again
>
> Versus
> AGAIN TIMEUSED ..
>  CFI  R15,8
>  BE AGAIN
>
>
> I used CFI because it is an immediate instruction.That instruction is
> not going to need the literal pool.


Nothing wrong with CFI, though CHI is two bytes shorter and does the same
thing in this context.


> I also used that instruction because it is my understanding that TIMEUSED
> set  the Return Code.


Yes... The service it calls with that PC does set a return code. The macro
generates code to test that and not store R0-R1 in your area.

I used the CFI to trigger a condition code that could be checked.   Looking
> at the expansion of the TIMEUSED macro below, will the condition code set
> by the LTR at address 1E still be in effect?


Yes - the BNZ does not change the CC. (To my knowledge no branch
instructions of any kind change the CC, but certainly Branch on Condition,
whether Relative or not, does not.)


> Is that why you suggested  just JNZ after the TIMEUSED macro?
>

That wasn't me, of course. But I'm not sure why it would be a good idea to
branch back and reissue the TIMEUSED if it fails. Seems to me that might
loop. But I'm not highly familiar with this service.


> I created the base register out of habit.That is what I was taught to
> do 30 plus years ago.  However, in this situation it is required.
>

As suggested by someone else, SYSSTATE ARCHLVL=2 will fix that.That is,
this macro is explicitly checking for that setting and will generate a JNZ
instead of the BNZ. Not all macros check, so IEABRCX as also suggested can
fix many of them, though at the cost of generating super hard to read
listings. But nobody reads listings these days anyway, right...?

I am very interested in the BAKR and PR instructions.I am seen them
> mentioned but I have not researched them.
>

They are kind of heavy weight - slow to execute, and do way more than you
typically need. But in their place... Certainly none of the compilers
generates them.

However when I ran a version of the program using BAKR and PR, the program
> abended with S0E0  Reason=30
>

> Which means:  "A stacking instruction was issued when the linkage stack
> was full."
>

This is telling you you almost certainly have more BAKRs than PRs. I mean
dynamically - one way or another you have issued more BAKRs than you have
issued PRs.

Is it possible that this error occurs because the TIMEUSED macro uses the
> PC instruction?
>

It's very unlikely. The PC stack entry will be unstacked by the PR the
TIMEUSED routine uses to return to you. Only if your linkage stack was
almost full already might the PC fail. You can see in a dump what the
failing instruction is, and where all the previous stack entries were
obtained. I'm betting it'll be your BAKR, and that many of the recent
entries will be that same BAKR, i.e. you are somehow taking a path that
avoids doing your PR.

Tony H.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Help with BSAM WRITE VBA getting 002-30

2023-03-15 Thread Mike Schwab
LRECL=125

TESTBL DCX'0081'  4 + sum of record lengths = 129
TESTRL DCX'007D' 4 + Data length = 125
TESTCC DC X'40'
TESTDATA DC CL120'+1+2+3+4+5X
'+6+7+8+9+A+B+C'



On Wed, Mar 15, 2023 at 8:08 PM Mike Schwab  wrote:
>
> > TESTMESS DCX'0005000540F1F2F3F4'
> * Corrected to:
> TESTMESS DC X'000D000940F1F2F3F4'
> TESTBL DCX'000D'  4 + sum of record lengths
> TEDTRL DCX'0009' 4 + Data length = 9
> TESTDATA DC X'40F1F2F3F4' C'b1234' so length = 5
>
>
> On Wed, Mar 15, 2023 at 6:23 PM Joseph Reichman  wrote:
> >
> > Hi
> >
> >
> >
> > I have been abending  for 2 days doing different things to write abend
> > messages snaps dataset so first let me post the dcb
> >
> >
> >
> > DRDMPDD  DCB   DDNAME=DBGRDUMP,DSORG=PS,RECFM=VBA,MACRF=(W),BLKSIZE=882X
> >
> > ,LRECL=125,EXLST=*-*
> >
> >
> >
> > The exlst is populated before open with JFCB exit do I get the dataset name
> > of the gdg using RDJFCB
> >
> >
> >
> > So the last thing I did was just try a simple test let me write 5 bytes out
> > so I know there has to be a BDW and RDW
> >
> >
> >
> > The BDW is a full word where the length is low order byte the rdw is in the
> > high order 2 bytes the low order being 0's
> >
> >
> >
> > Here is my message
> >
> >
> >
> > TESTMESS DCX'0005000540F1F2F3F4'
> >
> >
> >
> > I wasn't sure whether the BDW included 4 byte for the BDW itself but I tried
> > it with both 5 and 9 and got the same 002-30
> >
> >
> >
> > I wasn't sure whether it is the address of testmess or the address was in a
> > fullword
> >
> >
> >
> > Meaning I tired this
> >
> >  LAR9,TESTMESS
> >
> >  STR9,WTOPTR
> >
> >  WRITE DECB,SF,DRDMPDD,WTOPTR,'S',MF=E
> >
> >
> >
> >  And I tired this
> >
> >  LA   R9,TESTMESS
> >
> >  WRITE DECB,SF,DRDMPDD,(R9),'S',MF=E
> >
> >
> >
> > Here is a bigger picture of the code
> >
> >   OPEN  (DRDMPDD,(OUTPUT))
> >
> >   MVC   DECB(IWRITELEN),IWRITE
> >
> >   L R7,PARMADDR   Get paramter list
> >
> >   L R9,0(,R7)
> >
> >   LTR   R9,R9
> >
> >   BZDOSNAP
> >
> >   LAR9,TESTMESS
> >
> >   STR9,WTOPTR
> >
> >   WRITE DECB,SF,DRDMPDD,WTOPTR,'S',MF=E
> >
> >  Here is IWRITE
> >
> >
> >
> > IWRITE   WRITE D,SF,DRDMPDD,*-*,'S',MF=L
> >
> >  IWRITELEN EQU  *-IWRITE
> >
> >
> >
> > My decb is actually in working storage dsect
> >
> >
> >
> > WS_DSECT DSECT
> >
> >  DS   18F
> >
> >  IHADECB DSECT=NO
> >
> > PARMADDR DS   F
> >
> >
> >
> >
> >
> >   Don't really know what else to try
> >
> >
> >
> > thanks
> >
> >
> > --
> > For IBM-MAIN subscribe / signoff / archive access instructions,
> > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
>
>
> --
> Mike A Schwab, Springfield IL USA
> Where do Forest Rangers go to get away from it all?



-- 
Mike A Schwab, Springfield IL USA
Where do Forest Rangers go to get away from it all?

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Help with BSAM WRITE VBA getting 002-30

2023-03-15 Thread Paul Gilmartin

On 3/15/23 18:38:33, Seymour J Metz wrote:

The first HW is the length for both BDW and RDW.

 ITYM

BDW  DS0H
 DCY(*-SOF)Y(SOF-*)
 DCH'0'
 DCY(*-SOF)Y(SOF-*)
 DCH'0'
 DCC' 'C'1Skip to channel 1, e.g.'
SOF  EQU   *

--
gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: not using SMPe

2023-03-15 Thread Warren Brown
 Thanks
On Wednesday, March 15, 2023 at 09:15:59 PM EDT, Andrew Rowley 
 wrote:  
 
 On 16/03/2023 12:01 pm, Warren Brown wrote:
>  Andrew, I have been out for a while.  Is there a replacement for SMPE ?
> Warren
There have always been ways to deliver software without using SMP/E e.g. 
datasets dumped to tape. As people have noted, you can also deliver what 
is effectively a full replacement via SMP/E. Serverpac etc. could 
probably be considered a non-SMP/E install, even though what you are 
installing is a SMP/E environment.

But now, yes, there is an official IBM supported non-SM/PE installation 
method using a z/OSMF portable software instance. A PSI can also deliver 
a SMP/E environment of course.

-- 
Andrew Rowley
Black Hill Software

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
  

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: not using SMPe

2023-03-15 Thread Andrew Rowley

On 16/03/2023 12:01 pm, Warren Brown wrote:

  Andrew, I have been out for a while.  Is there a replacement for SMPE ?
Warren
There have always been ways to deliver software without using SMP/E e.g. 
datasets dumped to tape. As people have noted, you can also deliver what 
is effectively a full replacement via SMP/E. Serverpac etc. could 
probably be considered a non-SMP/E install, even though what you are 
installing is a SMP/E environment.


But now, yes, there is an official IBM supported non-SM/PE installation 
method using a z/OSMF portable software instance. A PSI can also deliver 
a SMP/E environment of course.


--
Andrew Rowley
Black Hill Software

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Help with BSAM WRITE VBA getting 002-30

2023-03-15 Thread Mike Schwab
> TESTMESS DCX'0005000540F1F2F3F4'
* Corrected to:
TESTMESS DC X'000D000940F1F2F3F4'
TESTBL DCX'000D'  4 + sum of record lengths
TEDTRL DCX'0009' 4 + Data length = 9
TESTDATA DC X'40F1F2F3F4' C'b1234' so length = 5


On Wed, Mar 15, 2023 at 6:23 PM Joseph Reichman  wrote:
>
> Hi
>
>
>
> I have been abending  for 2 days doing different things to write abend
> messages snaps dataset so first let me post the dcb
>
>
>
> DRDMPDD  DCB   DDNAME=DBGRDUMP,DSORG=PS,RECFM=VBA,MACRF=(W),BLKSIZE=882X
>
> ,LRECL=125,EXLST=*-*
>
>
>
> The exlst is populated before open with JFCB exit do I get the dataset name
> of the gdg using RDJFCB
>
>
>
> So the last thing I did was just try a simple test let me write 5 bytes out
> so I know there has to be a BDW and RDW
>
>
>
> The BDW is a full word where the length is low order byte the rdw is in the
> high order 2 bytes the low order being 0's
>
>
>
> Here is my message
>
>
>
> TESTMESS DCX'0005000540F1F2F3F4'
>
>
>
> I wasn't sure whether the BDW included 4 byte for the BDW itself but I tried
> it with both 5 and 9 and got the same 002-30
>
>
>
> I wasn't sure whether it is the address of testmess or the address was in a
> fullword
>
>
>
> Meaning I tired this
>
>  LAR9,TESTMESS
>
>  STR9,WTOPTR
>
>  WRITE DECB,SF,DRDMPDD,WTOPTR,'S',MF=E
>
>
>
>  And I tired this
>
>  LA   R9,TESTMESS
>
>  WRITE DECB,SF,DRDMPDD,(R9),'S',MF=E
>
>
>
> Here is a bigger picture of the code
>
>   OPEN  (DRDMPDD,(OUTPUT))
>
>   MVC   DECB(IWRITELEN),IWRITE
>
>   L R7,PARMADDR   Get paramter list
>
>   L R9,0(,R7)
>
>   LTR   R9,R9
>
>   BZDOSNAP
>
>   LAR9,TESTMESS
>
>   STR9,WTOPTR
>
>   WRITE DECB,SF,DRDMPDD,WTOPTR,'S',MF=E
>
>  Here is IWRITE
>
>
>
> IWRITE   WRITE D,SF,DRDMPDD,*-*,'S',MF=L
>
>  IWRITELEN EQU  *-IWRITE
>
>
>
> My decb is actually in working storage dsect
>
>
>
> WS_DSECT DSECT
>
>  DS   18F
>
>  IHADECB DSECT=NO
>
> PARMADDR DS   F
>
>
>
>
>
>   Don't really know what else to try
>
>
>
> thanks
>
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN



-- 
Mike A Schwab, Springfield IL USA
Where do Forest Rangers go to get away from it all?

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: not using SMPe

2023-03-15 Thread Warren Brown
 Andrew, I have been out for a while.  Is there a replacement for SMPE ?
Warren
On Wednesday, March 15, 2023 at 06:15:29 PM EDT, Andrew Rowley 
 wrote:  
 
 On 15/03/2023 8:33 am, Jay Maynard wrote:
> That's because SMP/E and its power are only truly present in the z/OS and
> predecessors world. Everyone else thinks of applying maintenance as a
> matter of replacing the entire product, instead of individual fixes that
> are automatically maintained and managed.

The problem with individual fixes rather than full replacement is that 
it means the interface for every individually replaceable component is 
fixed. The relationships between all components need to be tracked, and 
any interface change needs corresponding pre-reqs or co-reqs for 
everything that uses it.

That had to be done anyway when everything was coded in assembler. With 
high level languages it becomes much easier to do at compilation time. 
The compiler will find the relationships and make sure all dependent 
changes happen.

Separate modules also limit compiler optimizations, because calls 
between routines are one of the common opportunities for optimization 
(inlining etc).

It's still possible to ship individual fixes if necessary, but that is 
done in source code using git etc., still shipped as a full replacement. 
You end up with a branch or tag in git that represents the exact code 
that a customer is running.

There is much more overhead and opportunity for error shipping 
individual components than full replacement. With the bandwidth etc. 
available now full replacement makes much more sense.

-- 
Andrew Rowley
Black Hill Software

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
  

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Help with BSAM WRITE VBA getting 002-30

2023-03-15 Thread Joseph Reichman
Thought only RDW was in the upper half it includes 4 bytes for the BDW 

Thank you I’ll try it out 

> On Mar 15, 2023, at 8:39 PM, Seymour J Metz  wrote:
> 
> The first HW is the length for both BDW and RDW.
> 
> BDW  DS0H
> DCY(*-SOF)
> DCH'0'
> DCY(*-SOF)
> DCH'0'
> DCC' '
> SOF  EQU   *
> 
> 
> From: IBM Mainframe Discussion List  on behalf of 
> Joseph Reichman 
> Sent: Wednesday, March 15, 2023 7:22 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Help with BSAM WRITE VBA getting 002-30
> 
> Hi
> 
> 
> 
> I have been abending  for 2 days doing different things to write abend
> messages snaps dataset so first let me post the dcb
> 
> 
> 
> DRDMPDD  DCB   DDNAME=DBGRDUMP,DSORG=PS,RECFM=VBA,MACRF=(W),BLKSIZE=882X
> 
>,LRECL=125,EXLST=*-*
> 
> 
> 
> The exlst is populated before open with JFCB exit do I get the dataset name
> of the gdg using RDJFCB
> 
> 
> 
> So the last thing I did was just try a simple test let me write 5 bytes out
> so I know there has to be a BDW and RDW
> 
> 
> 
> The BDW is a full word where the length is low order byte the rdw is in the
> high order 2 bytes the low order being 0's
> 
> 
> 
> Here is my message
> 
> 
> 
> TESTMESS DCX'0005000540F1F2F3F4'
> 
> 
> 
> I wasn't sure whether the BDW included 4 byte for the BDW itself but I tried
> it with both 5 and 9 and got the same 002-30
> 
> 
> 
> I wasn't sure whether it is the address of testmess or the address was in a
> fullword
> 
> 
> 
>Meaning I tired this
> 
> LAR9,TESTMESS
> 
> STR9,WTOPTR
> 
> WRITE DECB,SF,DRDMPDD,WTOPTR,'S',MF=E
> 
> 
> 
> And I tired this
> 
> LA   R9,TESTMESS
> 
> WRITE DECB,SF,DRDMPDD,(R9),'S',MF=E
> 
> 
> 
> Here is a bigger picture of the code
> 
>  OPEN  (DRDMPDD,(OUTPUT))
> 
>  MVC   DECB(IWRITELEN),IWRITE
> 
>  L R7,PARMADDR   Get paramter list
> 
>  L R9,0(,R7)
> 
>  LTR   R9,R9
> 
>  BZDOSNAP
> 
>  LAR9,TESTMESS
> 
>  STR9,WTOPTR
> 
>  WRITE DECB,SF,DRDMPDD,WTOPTR,'S',MF=E
> 
> Here is IWRITE
> 
> 
> 
> IWRITE   WRITE D,SF,DRDMPDD,*-*,'S',MF=L
> 
> IWRITELEN EQU  *-IWRITE
> 
> 
> 
> My decb is actually in working storage dsect
> 
> 
> 
> WS_DSECT DSECT
> 
> DS   18F
> 
> IHADECB DSECT=NO
> 
> PARMADDR DS   F
> 
> 
> 
> 
> 
>  Don't really know what else to try
> 
> 
> 
> thanks
> 
> 
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
> 
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Help with BSAM WRITE VBA getting 002-30

2023-03-15 Thread Seymour J Metz
The first HW is the length for both BDW and RDW.

BDW  DS0H
 DCY(*-SOF)
 DCH'0'
 DCY(*-SOF)
 DCH'0'
 DCC' '
SOF  EQU   *


From: IBM Mainframe Discussion List  on behalf of 
Joseph Reichman 
Sent: Wednesday, March 15, 2023 7:22 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Help with BSAM WRITE VBA getting 002-30

Hi



I have been abending  for 2 days doing different things to write abend
messages snaps dataset so first let me post the dcb



DRDMPDD  DCB   DDNAME=DBGRDUMP,DSORG=PS,RECFM=VBA,MACRF=(W),BLKSIZE=882X

,LRECL=125,EXLST=*-*



The exlst is populated before open with JFCB exit do I get the dataset name
of the gdg using RDJFCB



So the last thing I did was just try a simple test let me write 5 bytes out
so I know there has to be a BDW and RDW



The BDW is a full word where the length is low order byte the rdw is in the
high order 2 bytes the low order being 0's



Here is my message



TESTMESS DCX'0005000540F1F2F3F4'



I wasn't sure whether the BDW included 4 byte for the BDW itself but I tried
it with both 5 and 9 and got the same 002-30



I wasn't sure whether it is the address of testmess or the address was in a
fullword



Meaning I tired this

 LAR9,TESTMESS

 STR9,WTOPTR

 WRITE DECB,SF,DRDMPDD,WTOPTR,'S',MF=E



 And I tired this

 LA   R9,TESTMESS

 WRITE DECB,SF,DRDMPDD,(R9),'S',MF=E



Here is a bigger picture of the code

  OPEN  (DRDMPDD,(OUTPUT))

  MVC   DECB(IWRITELEN),IWRITE

  L R7,PARMADDR   Get paramter list

  L R9,0(,R7)

  LTR   R9,R9

  BZDOSNAP

  LAR9,TESTMESS

  STR9,WTOPTR

  WRITE DECB,SF,DRDMPDD,WTOPTR,'S',MF=E

 Here is IWRITE



IWRITE   WRITE D,SF,DRDMPDD,*-*,'S',MF=L

 IWRITELEN EQU  *-IWRITE



My decb is actually in working storage dsect



WS_DSECT DSECT

 DS   18F

 IHADECB DSECT=NO

PARMADDR DS   F





  Don't really know what else to try



thanks


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Amode 64 JSON library?

2023-03-15 Thread David Crayford

On 14/3/23 15:00, Robin Atwood wrote:

@David I take your point but I fear my management won't see it that way, 
reinventing the wheel and all that.


I can relate to that. Our products get branded and sold by IBM. Back in 
the day they had a no open source policy and we needed to pass a 
certificate of originality (COO). Luckily, everything has changed now 
and they just check for permissive licenses. To unfortunate truth is 
that open source is usually much better then what IBM deliver for stuff 
like JSON, REST etc. I had a look at the Web Enablement Toolkit samples 
and decided to never look at it again ;)




I shall spend today experimenting with rebuilding parameter lists, which is 
likely to be a useful technique in this whole exercise. 😉

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
David Crayford
Sent: Monday, March 13, 2023 10:07 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Amode 64 JSON library?

My advice is to abandon the horrible Web Enablement services and build a good C 
JSON parser like json-c. Even better if you can ditch C and use
C++ because then you have some very nice options.

https://github.com/json-c/json-c
https://github.com/nlohmann/json

On 13/3/23 18:07, Robin Atwood wrote:

Yes, we are linking in HWTJCSS. It only contains 18 entry points for the 31 bit 
routines, AFAICT.

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Colin Paice
Sent: Monday, March 13, 2023 4:16 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Amode 64 JSON library?

Are you using
Linkage stub method
(Recommended)
Use the linkable stub routine HWTJCSS from SYS1.CSSLIB to link edit yourobject 
code.

Colin

On Mon, 13 Mar 2023 at 08:55, Robin Atwood  wrote:


I am investigating the implications of converting a large body of C
code to
64 bit. Compiling with LP64 seems
straightforward, the problems are at the binder step. I am currently
getting IEW2469E Reason 3:

"Either the reference or the target is in amode 64 and the amodes do
not match."

This I was expecting; what I wasn't expecting is an apparent lack of
64 bit entry points for the JSON routines. The IBM doc

https://www.ibm.com/docs/en/zos/2.5.0?topic=parser-syntax-linkage-prog
rammin
g-considerations
 makes no mention of 64 bit calls. I have
searched, examined header files, looked at samples, but have found no
clue.
Am I missing something incredibly obvious or do I have to code stub
routines myself to convert the parameter lists?
Has anyone else encountered this?

TIA
Robin

--
For IBM-MAIN subscribe / signoff / archive access instructions, send
email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Help with BSAM WRITE VBA getting 002-30

2023-03-15 Thread Joseph Reichman
Hi 

 

I have been abending  for 2 days doing different things to write abend
messages snaps dataset so first let me post the dcb 

 

DRDMPDD  DCB   DDNAME=DBGRDUMP,DSORG=PS,RECFM=VBA,MACRF=(W),BLKSIZE=882X

,LRECL=125,EXLST=*-* 

 

The exlst is populated before open with JFCB exit do I get the dataset name
of the gdg using RDJFCB

 

So the last thing I did was just try a simple test let me write 5 bytes out
so I know there has to be a BDW and RDW 

 

The BDW is a full word where the length is low order byte the rdw is in the
high order 2 bytes the low order being 0's

 

Here is my message

 

TESTMESS DCX'0005000540F1F2F3F4'

 

I wasn't sure whether the BDW included 4 byte for the BDW itself but I tried
it with both 5 and 9 and got the same 002-30

 

I wasn't sure whether it is the address of testmess or the address was in a
fullword 

 

Meaning I tired this 

 LAR9,TESTMESS   

 STR9,WTOPTR 

 WRITE DECB,SF,DRDMPDD,WTOPTR,'S',MF=E

   

 And I tired this 

 LA   R9,TESTMESS

 WRITE DECB,SF,DRDMPDD,(R9),'S',MF=E

 

Here is a bigger picture of the code

  OPEN  (DRDMPDD,(OUTPUT)) 

  MVC   DECB(IWRITELEN),IWRITE 

  L R7,PARMADDR   Get paramter list

  L R9,0(,R7)  

  LTR   R9,R9  

  BZDOSNAP 

  LAR9,TESTMESS

  STR9,WTOPTR  

  WRITE DECB,SF,DRDMPDD,WTOPTR,'S',MF=E 

 Here is IWRITE 

 

IWRITE   WRITE D,SF,DRDMPDD,*-*,'S',MF=L  

 IWRITELEN EQU  *-IWRITE   

 

My decb is actually in working storage dsect 

 

WS_DSECT DSECT

 DS   18F 

 IHADECB DSECT=NO 

PARMADDR DS   F   

 

 

  Don't really know what else to try 

 

thanks  


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: not using SMPe

2023-03-15 Thread Andrew Rowley

On 16/03/2023 9:33 am, Ed Jaffe wrote:

Not true. It simply means if you change the (non-fixed) interface, you 
must re-issue all affected components.


OK yes... I did say that you could change the interface with 
corresponding pre and co-reqs. And if you just want to change one of the 
dependent components, you then need to go back and install the other 
fix, and end up changing all the other dependencies, plus anything they 
pull in etc...


Not everyone loves chasing pre-req chains in SMP/E. Plus the vendor 
needs to track it all somehow and build those chains.




That said, we have been having great luck lately using ++JARUPD 
instead of ++JAR for many of our Java-based components and people seem 
to like it!



OMG WTF I hadn't discovered ++JARUPD. That sounds like a terrible idea.

Java is a bit of a special case because it is JIT compiled, so you do 
get compiler optimizations from inlining etc. But I don't see the point 
of partial updates to jar files. You throw away all the checking that 
the javac compiler did when it compiled the code, and errors are more 
likely to slip through and be discovered by the customer rather than in 
the build environment. Even more so now with JPMS, which is complex 
enough just building a jar file.


--
Andrew Rowley
Black Hill Software

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: not using SMPe

2023-03-15 Thread Ed Jaffe

On 3/15/2023 3:15 PM, Andrew Rowley wrote:


The problem with individual fixes rather than full replacement is that 
it means the interface for every individually replaceable component is 
fixed.



Not true. It simply means if you change the (non-fixed) interface, you 
must re-issue all affected components.


[snip]




There is much more overhead and opportunity for error shipping 
individual components than full replacement. With the bandwidth etc. 
available now full replacement makes much more sense.



I agree that limited bandwidth was the reason for much of the service 
strategy we have today. That said, we have been having great luck lately 
using ++JARUPD instead of ++JAR for many of our Java-based components 
and people seem to like it!



--
Phoenix Software International
Edward E. Jaffe
831 Parkview Drive North
El Segundo, CA 90245
https://www.phoenixsoftware.com/



This e-mail message, including any attachments, appended messages and the
information contained therein, is for the sole use of the intended
recipient(s). If you are not an intended recipient or have otherwise
received this email message in error, any use, dissemination, distribution,
review, storage or copying of this e-mail message and the information
contained therein is strictly prohibited. If you are not an intended
recipient, please contact the sender by reply e-mail and destroy all copies
of this email message and do not otherwise utilize or retain this email
message or any or all of the information contained therein. Although this
email message and any attachments or appended messages are believed to be
free of any virus or other defect that might affect any computer system into
which it is received and opened, it is the responsibility of the recipient
to ensure that it is virus free and no responsibility is accepted by the
sender for any loss or damage arising in any way from its opening or use.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: not using SMPe

2023-03-15 Thread Andrew Rowley

On 15/03/2023 8:33 am, Jay Maynard wrote:

That's because SMP/E and its power are only truly present in the z/OS and
predecessors world. Everyone else thinks of applying maintenance as a
matter of replacing the entire product, instead of individual fixes that
are automatically maintained and managed.


The problem with individual fixes rather than full replacement is that 
it means the interface for every individually replaceable component is 
fixed. The relationships between all components need to be tracked, and 
any interface change needs corresponding pre-reqs or co-reqs for 
everything that uses it.


That had to be done anyway when everything was coded in assembler. With 
high level languages it becomes much easier to do at compilation time. 
The compiler will find the relationships and make sure all dependent 
changes happen.


Separate modules also limit compiler optimizations, because calls 
between routines are one of the common opportunities for optimization 
(inlining etc).


It's still possible to ship individual fixes if necessary, but that is 
done in source code using git etc., still shipped as a full replacement. 
You end up with a branch or tag in git that represents the exact code 
that a customer is running.


There is much more overhead and opportunity for error shipping 
individual components than full replacement. With the bandwidth etc. 
available now full replacement makes much more sense.


--
Andrew Rowley
Black Hill Software

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Git, and other Open Tools, Alternative for z/OS

2023-03-15 Thread Matt Hogstrom
+1 … that is one of the biggest challenges for any tools.  Mainframe customers 
(and even distributed) want provenance of code and a throat to choke.

Matt Hogstrom
m...@hogstrom.org

How many legs does a dog have if you call the tail a leg?  Four. 
Calling a tail a leg doesn't make it a leg.
- Abraham Lincoln



> On Mar 15, 2023, at 12:50 PM, David Crayford  wrote:
> 
> The major difference is that Rocket offer enterprise support for their open 
> source tools which a lot of customers deem mandatory. YMMV.


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Routine using TIMEUSED called Statically gets different results

2023-03-15 Thread Farley, Peter
Use the IBM-supplied IEABRCX copy member (Found in SYS1.MACLIB; IEABRCX DEFINE, 
then IEABRCX ENABLE) to convert base-reg branches to relative branches.

I also recommend using SYSSTATE ARCHLVL=2 or even 3 if your hardware is current 
enough.  YMMV.

Be careful using BAKR/PR - you must use them in pairs, and the default number 
of linkage stack levels available by default is (I think) less than 20.

LEV0  other code here
LEV1  BAKR . . . 
. . . . .
LEV2  BAKR . . . 
. . . . .
  PR
. . . . .
  PR
LEV0 continues here 

HTH

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Chris P Fried
Sent: Wednesday, March 15, 2023 2:48 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Routine using TIMEUSED called Statically gets different results

EXTERNAL EMAIL

Regarding: 

AGAIN  TIMEUSED  ...  
 JNZ  Again

Versus
AGAIN TIMEUSED .. 
 CFI  R15,8
 BE AGAIN 


I used CFI because it is an immediate instruction.That instruction is not 
going to need the literal pool.  I also used that instruction because it is my 
understanding that TIMEUSED set  the Return Code.   I used the CFI to trigger a 
condition code that could be checked.   Looking at the expansion of the 
TIMEUSED macro below, will the condition code set by the LTR at address 1E 
still be in effect?Is that why you suggested  just JNZ after the TIMEUSED 
macro?


I created the base register out of habit.That is what I was taught to do 30 
plus years ago.  However, in this situation it is required. 

The macro uses a branch with offset. 

 14 AGAIN  TIMEUSED  STORADR=(R2),L
 15+*MACDATE 04/06/2005
0A   17+AGAINDS0H  
0A 58E0 00100001018+ L 14,16(0,0)  
0E 58EE 03040030419+ L 14,772(14,0)
12 58EE 00F4000F420+ L 14,244(14,0)
16 4100 0001121+ LA0,1 
1A B218 E000  0  22+ PC0(14)   
1E 12FF  23+ LTR   15,15   
20  024+ BNZ   *+8 
** ASMA307E No active USING for operand *+8
** ASMA435I Record 671 in SYS1.MACLIB(TIMEUSED) on volume: VTMVSC  
24 9001 2000025+ STM   0,1,0(R2)   




I am very interested in the BAKR and PR instructions.I am seen them 
mentioned but I have not researched them. 

However when I ran a version of the program using BAKR and PR, the program 
abended with S0E0  Reason=30 

Which means:  "A stacking instruction was issued when the linkage stack was 
full."


Is it possible that this error occurs because the TIMEUSED macro uses the PC 
instruction? 
--


This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Routine using TIMEUSED called Statically gets different results

2023-03-15 Thread Chris P Fried
Regarding: 

AGAIN  TIMEUSED  ...  
 JNZ  Again

Versus
AGAIN TIMEUSED .. 
 CFI  R15,8
 BE AGAIN 


I used CFI because it is an immediate instruction.That instruction is not 
going to need the literal pool.  I also used that instruction because it is my 
understanding that TIMEUSED set  the Return Code.   I used the CFI to trigger a 
condition code that could be checked.   Looking at the expansion of the 
TIMEUSED macro below, will the condition code set by the LTR at address 1E 
still be in effect?Is that why you suggested  just JNZ after the TIMEUSED 
macro?


I created the base register out of habit.That is what I was taught to do 30 
plus years ago.  However, in this situation it is required. 

The macro uses a branch with offset. 

 14 AGAIN  TIMEUSED  STORADR=(R2),L
 15+*MACDATE 04/06/2005
0A   17+AGAINDS0H  
0A 58E0 00100001018+ L 14,16(0,0)  
0E 58EE 03040030419+ L 14,772(14,0)
12 58EE 00F4000F420+ L 14,244(14,0)
16 4100 0001121+ LA0,1 
1A B218 E000  0  22+ PC0(14)   
1E 12FF  23+ LTR   15,15   
20  024+ BNZ   *+8 
** ASMA307E No active USING for operand *+8
** ASMA435I Record 671 in SYS1.MACLIB(TIMEUSED) on volume: VTMVSC  
24 9001 2000025+ STM   0,1,0(R2)   




I am very interested in the BAKR and PR instructions.I am seen them 
mentioned but I have not researched them. 

However when I ran a version of the program using BAKR and PR, the program 
abended with S0E0  Reason=30 

Which means:  "A stacking instruction was issued when the linkage stack was 
full."


Is it possible that this error occurs because the TIMEUSED macro uses the PC 
instruction? 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: not using SMPe

2023-03-15 Thread Paul Gilmartin
On Wed, 15 Mar 2023 09:30:33 -0700, Michael Stein wrote:
>...
>Then a SMP build process would build or rebuild the targets needing
>changes from the current configuration to the new desired configuration.
>So any PTF could be removed, at least as long as the pile of MODs still
>contained the older MODs needed.
>
VMSES/E has some such capability.  It supports successively restoring patches
to any level, not obstructed by the ACCEPT operation which largely limits to
one particular level.

And a recent plaint here concerned SMP/E's lack of a facility to APPLY an
earlier PTF completely before APPLYng a later one, except by manual
intervention driven by HOLDDATA.  "make" does that better.

-- 
gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Git, and other Open Tools, Alternative for z/OS

2023-03-15 Thread David Crayford
The major difference is that Rocket offer enterprise support for their 
open source tools which a lot of customers deem mandatory. YMMV.


On 14/3/23 22:09, Lionel B. Dyck wrote:

You no longer need to get the open tools for z/OS from Rocket Software -
there is a new player in town - the z/OS Open Tools project.

  


You can find them at https://zosopentools.github.io/meta/#/ and they offer
several different installation options from individual packages to a
generalized installation tool (zopen).

  


It's all on GitHub and they encourage participation, including via the use
of the new GitHub repository Discussions option - see
https://github.com/ZOSOpenTools/meta/discussions.

  


On their guild/project call last month one of the contributors mentioned the
ability to request formal support (that was the extent of that discussion)
in case your site requires it.

  


For Git they are more current than Rocket (2.26.2-78) with version 2.39.2
recently posted.

  


I have tested Git 2.39.1 and now 2.39.2 with ZIGI (see
https://github.com/zigi) with no problems.

  


As an example you'll find:

  


Bash 5.2

Bzip2 1.0.8

Curl 3.8

Git 2.39.2

Gzip 1.12

Less 608

Pcre2 10.42

Lua 5.1.5

Lynx 2.8.9

Openssl 1.1.1s

Perl 5-blead

Sed 629

Sqlite 598

Vim 9.0.0846

  

  

  


Lionel B. Dyck <><

Website:   https://www.lbdsoftware.com

Github:   https://github.com/lbdyck

  


"Worry more about your character than your reputation. Character is what you
are, reputation merely what others think you are."   - - - John Wooden

  



--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: CS/CDS instruction

2023-03-15 Thread Joe Monk
Or you just could do an STFLE and check the facility bits...

Joe

On Wed, Mar 15, 2023 at 10:52 AM P H <
04843e86df79-dmarc-requ...@listserv.ua.edu> wrote:

> This doc (url below) will give you a list of what is available/supported
> on different generations of the current System z. However if you want to
> know about a specific system you have then discuss with your IBM Rep who
> will be able to give you a complete list of features (VPD) for your System.
>
> https://www.redbooks.ibm.com/abstracts/redp5157.html
>
> Regards
>
> Parwez Hamid​
> 
> From: IBM Mainframe Discussion List  on behalf
> of Ituriel do Neto <03427ec2837d-dmarc-requ...@listserv.ua.edu>
> Sent: 15 March 2023 13:30
> To: IBM-MAIN@LISTSERV.UA.EDU 
> Subject: Re: CS/CDS instruction
>
> Can we detect if a specific feature is available in the current hardware?
>
>
> Best Regards
>
> Ituriel do Nascimento Neto
> z/OS System Programmer
>
>
>
>
>
>
> Em sábado, 11 de março de 2023 às 14:05:12 BRT, Paul Gilmartin <
> 042bfe9c879d-dmarc-requ...@listserv.ua.edu> escreveu:
>
>
>
>
>
> On Sat, 11 Mar 2023 00:03:06 -0800, Leonard D Woren wrote:
>
> >If some particular instruction set feature is installed, the
> >definition of ASI/AGSI is enhanced to serialize the update, making it
> >a simpler solution than a CDS loop or PLO.
> >
> >In some performance testing a while back on a z14 or z15 which I think
> >had the above serialization feature, the execution times for a very
> >large number of executions of L / AHI / ST were very close to the same
> >count of ASI.  If I recall, the ASI was a few percent slower, I guess
> >because of the serialization.  I.e., unless you're doing abnormal
> >tests as I did, you won't notice the difference.
> >
>
> From the PoOps (excerpted):
>   The storage-operand update reference for the follow- ing
>   instructions appears to be an interlocked-update reference as
>   observed by other CPUs and channel programs.
>
> • TEST AND SET
> • COMPARE AND SWAP
> (of course)
>
> • AND (NI and NIY), when the interlocked-access facility 2 is installed
> • OR (OI and OIY), when the interlocked-access facility 2 is installed
> (at last!)
>
> • ADD IMMEDIATE (ASI and AGSI), when the interlocked-access facility
>   1 is installed and the first operand is aligned on an integral
>   boundary corresponding to its size
>
> The feature-dependent instructions are treacherous.  Programmers must
> avoid them in multi-tasking code intended to be portable.
>
> I consider it bad hardware design to introduce feature-dependent
> instructions.  They should have remained invalid operations on models
> lacking the interlock facility.
>
> I believe NI and OI are primeval: they antedate multiprocessors and
> became unsafe only at the advent of multiprocessors.
>
> --
> gil
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: not using SMPe

2023-03-15 Thread Michael Stein
commenting on previous merged emails:
> Yes, there are indeed Linux package managers. They don't get beyond the
> "replace the entire package" level. THey have no concept of individual
> fixes and their interactions.

> Are they as powerful as SMP? No, but they fill a similar niche.

They are more powerful than SMP (and to me scary).

They run scripts as root and can do anything to your system...

SMP is mostly contained, it's going to replace some modules.

One thought I had a long time ago on SMP was that a slightly different
design of SMP would only forward build the target libraries never save
them and recopy them back from the saved version (for restore).

Instead, this alternate would keep a pile of MODs, a dependency
database, and a local configuration database.  A new PTF or function
would add MODs and dependencies.

APPLY and RESTORE would adjust the local configuration database to say
what modules and versions the target libraries would contain.

Then a SMP build process would build or rebuild the targets needing
changes from the current configuration to the new desired configuration.
So any PTF could be removed, at least as long as the pile of MODs still
contained the older MODs needed.

Since this would require keeping may previous levels of modules and more
processing I can see why this wasn't likely possible back when disks
were smaller and more expensive and processors slower.

As well, the real SMP back then included the old LMOD in it's links so
"unknown to SMP" CSECTs didn't get lost.
 

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: not using SMPe

2023-03-15 Thread Paul Gilmartin
On Tue, 14 Mar 2023 20:49:24 -0500, Jay Maynard  wrote:

>Yes, there are indeed Linux package managers. They don't get beyond the
>"replace the entire package" level. THey have no concept of individual
>fixes and their interactions.
>
There's a hazard.  Customers come to fear possible collateral damage from
maintenance and demand that when possible each PTF address only one
issue and have no prerequisites.  This leads to cafeteria-style maintenance
where the customer can choose among so many configurations that it's
unlikely that the supplier will have tested each.  The customer risks installing
an untested configuration.  If one fails it reinforces the customer's 
,minimalism.

Regenerative maintenance phobia.

-- 
gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: CS/CDS instruction

2023-03-15 Thread P H
This doc (url below) will give you a list of what is available/supported on 
different generations of the current System z. However if you want to know 
about a specific system you have then discuss with your IBM Rep who will be 
able to give you a complete list of features (VPD) for your System.

https://www.redbooks.ibm.com/abstracts/redp5157.html

Regards

Parwez Hamid​

From: IBM Mainframe Discussion List  on behalf of 
Ituriel do Neto <03427ec2837d-dmarc-requ...@listserv.ua.edu>
Sent: 15 March 2023 13:30
To: IBM-MAIN@LISTSERV.UA.EDU 
Subject: Re: CS/CDS instruction

Can we detect if a specific feature is available in the current hardware?


Best Regards

Ituriel do Nascimento Neto
z/OS System Programmer






Em sábado, 11 de março de 2023 às 14:05:12 BRT, Paul Gilmartin 
<042bfe9c879d-dmarc-requ...@listserv.ua.edu> escreveu:





On Sat, 11 Mar 2023 00:03:06 -0800, Leonard D Woren wrote:

>If some particular instruction set feature is installed, the
>definition of ASI/AGSI is enhanced to serialize the update, making it
>a simpler solution than a CDS loop or PLO.
>
>In some performance testing a while back on a z14 or z15 which I think
>had the above serialization feature, the execution times for a very
>large number of executions of L / AHI / ST were very close to the same
>count of ASI.  If I recall, the ASI was a few percent slower, I guess
>because of the serialization.  I.e., unless you're doing abnormal
>tests as I did, you won't notice the difference.
>

From the PoOps (excerpted):
  The storage-operand update reference for the follow- ing
  instructions appears to be an interlocked-update reference as
  observed by other CPUs and channel programs.

• TEST AND SET
• COMPARE AND SWAP
(of course)

• AND (NI and NIY), when the interlocked-access facility 2 is installed
• OR (OI and OIY), when the interlocked-access facility 2 is installed
(at last!)

• ADD IMMEDIATE (ASI and AGSI), when the interlocked-access facility
  1 is installed and the first operand is aligned on an integral
  boundary corresponding to its size

The feature-dependent instructions are treacherous.  Programmers must
avoid them in multi-tasking code intended to be portable.

I consider it bad hardware design to introduce feature-dependent
instructions.  They should have remained invalid operations on models
lacking the interlock facility.

I believe NI and OI are primeval: they antedate multiprocessors and
became unsafe only at the advent of multiprocessors.

--
gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: CS/CDS instruction

2023-03-15 Thread Seymour J Metz
Yes, with STFL.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Ituriel do Neto [03427ec2837d-dmarc-requ...@listserv.ua.edu]
Sent: Wednesday, March 15, 2023 9:30 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: CS/CDS instruction

Can we detect if a specific feature is available in the current hardware?


Best Regards

Ituriel do Nascimento Neto
z/OS System Programmer






Em sábado, 11 de março de 2023 às 14:05:12 BRT, Paul Gilmartin 
<042bfe9c879d-dmarc-requ...@listserv.ua.edu> escreveu:





On Sat, 11 Mar 2023 00:03:06 -0800, Leonard D Woren wrote:

>If some particular instruction set feature is installed, the
>definition of ASI/AGSI is enhanced to serialize the update, making it
>a simpler solution than a CDS loop or PLO.
>
>In some performance testing a while back on a z14 or z15 which I think
>had the above serialization feature, the execution times for a very
>large number of executions of L / AHI / ST were very close to the same
>count of ASI.  If I recall, the ASI was a few percent slower, I guess
>because of the serialization.  I.e., unless you're doing abnormal
>tests as I did, you won't notice the difference.
>

>From the PoOps (excerpted):
  The storage-operand update reference for the follow- ing
  instructions appears to be an interlocked-update reference as
  observed by other CPUs and channel programs.

• TEST AND SET
• COMPARE AND SWAP
(of course)

• AND (NI and NIY), when the interlocked-access facility 2 is installed
• OR (OI and OIY), when the interlocked-access facility 2 is installed
(at last!)

• ADD IMMEDIATE (ASI and AGSI), when the interlocked-access facility
  1 is installed and the first operand is aligned on an integral
  boundary corresponding to its size

The feature-dependent instructions are treacherous.  Programmers must
avoid them in multi-tasking code intended to be portable.

I consider it bad hardware design to introduce feature-dependent
instructions.  They should have remained invalid operations on models
lacking the interlock facility.

I believe NI and OI are primeval: they antedate multiprocessors and
became unsafe only at the advent of multiprocessors.

--
gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: not using SMPe

2023-03-15 Thread Joel C. Ewing
In Linux, the package version, sub-version, and sub-sub-version level 
indicate maintenance level and play a role roughly analogous to highest 
PTF level, with each new maintenance level of a package fixing one or 
more  numbered bug reports, which are a rough analogy to an APAR.  So 
one package having a dependency on another package being at some minimal 
level is similar to requiring a dependent PTF in zOS.


One big difference in the Linux world is that almost all packages are 
dependent on the version of the Linux operating system and are 
re-installed when a new Linux version is installed.  The Linux world 
assumes interface changes are not upward compatible, requiring most 
packages to be rebuilt for each new Linux version, and that can include 
packages that would be thought of as application code in the MVS world.


There is a wide disparity in Linux package complexity.  Some may be a 
single file, others a huge number of files; but the smallest unit that 
can be replaced by maintenance is always an entire package.


    Joel C Ewing

On 3/15/23 06:24, Seymour J Metz wrote:

They do, however, have the concept of dependency among packages. The 
configuration control software that I mentioned does quite a bit more.

Are they as powerful as SMP? No, but they fill a similar niche.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Jay 
Maynard [jaymayn...@gmail.com]
Sent: Tuesday, March 14, 2023 9:49 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: not using SMPe

Yes, there are indeed Linux package managers. They don't get beyond the
"replace the entire package" level. THey have no concept of individual
fixes and their interactions.

On Tue, Mar 14, 2023 at 7:14 PM Seymour J Metz  wrote:


There are a lot of people using package managers in the Linux world, and a
lot of software available as, e.g., deb, rpm, files. To say nothing of,
e.g., cvs, git, SCCS, svn.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf
of Jay Maynard [jaymayn...@gmail.com]
Sent: Tuesday, March 14, 2023 5:33 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: not using SMPe

That's because SMP/E and its power are only truly present in the z/OS and
predecessors world. Everyone else thinks of applying maintenance as a
matter of replacing the entire product, instead of individual fixes that
are automatically maintained and managed.

On Tue, Mar 14, 2023 at 4:22 PM Ed Jaffe 
wrote:


SMP/E use for products like Java, NodeJS, Zowe, etc. is almost pointless
since they always do full product replacements.


Jay Maynard



--
Joel C. Ewing

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: CS/CDS instruction

2023-03-15 Thread Ituriel do Neto
Can we detect if a specific feature is available in the current hardware?


Best Regards

Ituriel do Nascimento Neto
z/OS System Programmer






Em sábado, 11 de março de 2023 às 14:05:12 BRT, Paul Gilmartin 
<042bfe9c879d-dmarc-requ...@listserv.ua.edu> escreveu: 





On Sat, 11 Mar 2023 00:03:06 -0800, Leonard D Woren wrote:

>If some particular instruction set feature is installed, the 
>definition of ASI/AGSI is enhanced to serialize the update, making it 
>a simpler solution than a CDS loop or PLO.
>
>In some performance testing a while back on a z14 or z15 which I think 
>had the above serialization feature, the execution times for a very 
>large number of executions of L / AHI / ST were very close to the same 
>count of ASI.  If I recall, the ASI was a few percent slower, I guess 
>because of the serialization.  I.e., unless you're doing abnormal 
>tests as I did, you won't notice the difference.
>

>From the PoOps (excerpted):
  The storage-operand update reference for the follow- ing
  instructions appears to be an interlocked-update reference as
  observed by other CPUs and channel programs.

• TEST AND SET
• COMPARE AND SWAP
(of course)

• AND (NI and NIY), when the interlocked-access facility 2 is installed
• OR (OI and OIY), when the interlocked-access facility 2 is installed
(at last!)

• ADD IMMEDIATE (ASI and AGSI), when the interlocked-access facility
  1 is installed and the first operand is aligned on an integral
  boundary corresponding to its size

The feature-dependent instructions are treacherous.  Programmers must
avoid them in multi-tasking code intended to be portable.

I consider it bad hardware design to introduce feature-dependent
instructions.  They should have remained invalid operations on models
lacking the interlock facility.

I believe NI and OI are primeval: they antedate multiprocessors and
became unsafe only at the advent of multiprocessors.

-- 
gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: not using SMPe

2023-03-15 Thread Seymour J Metz
They do, however, have the concept of dependency among packages. The 
configuration control software that I mentioned does quite a bit more.

Are they as powerful as SMP? No, but they fill a similar niche.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Jay 
Maynard [jaymayn...@gmail.com]
Sent: Tuesday, March 14, 2023 9:49 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: not using SMPe

Yes, there are indeed Linux package managers. They don't get beyond the
"replace the entire package" level. THey have no concept of individual
fixes and their interactions.

On Tue, Mar 14, 2023 at 7:14 PM Seymour J Metz  wrote:

> There are a lot of people using package managers in the Linux world, and a
> lot of software available as, e.g., deb, rpm, files. To say nothing of,
> e.g., cvs, git, SCCS, svn.
>
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
>
> 
> From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf
> of Jay Maynard [jaymayn...@gmail.com]
> Sent: Tuesday, March 14, 2023 5:33 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: not using SMPe
>
> That's because SMP/E and its power are only truly present in the z/OS and
> predecessors world. Everyone else thinks of applying maintenance as a
> matter of replacing the entire product, instead of individual fixes that
> are automatically maintained and managed.
>
> On Tue, Mar 14, 2023 at 4:22 PM Ed Jaffe 
> wrote:
>
> > SMP/E use for products like Java, NodeJS, Zowe, etc. is almost pointless
> > since they always do full product replacements.
> >
> Jay Maynard
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>


--
Jay Maynard

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: not using SMPe

2023-03-15 Thread Seymour J Metz
I coined the term "stupidity above and beyond the call of duty" for such 
incidents. Richard Feynman (ז״ל) would have referred to it as "cargo cult 
systems programming".


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
David Spiegel [0468385049d1-dmarc-requ...@listserv.ua.edu]
Sent: Tuesday, March 14, 2023 10:05 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: not using SMPe

Hi Ed,
Thank you for the compliment!
(Yeshiva training really pays off for arguing logically.)

Now that I'm telling bank stories (this should really be a separate
thread) ...
At the same bank ...
One day (1990), a colleague comes over and asks for help with his batch
job failing.
I looked at it and noticed that he was running the Sterling Forest Put
Edit facility. (I had not needed to run this for several years.)
I explained to him that since the advent of ++HOLD "cards", this was no
longer necessary and a total waste of time.
He said: "Yeah, but, the Group Leader said it had to be done."
I took a deep breath and walked with him over to the Group Leader's desk.
Me: "Excuse me for asking, but, why are you asking your colleague to
waste time on this useless activity?"
GL: "Ah ... you do not understand banking. We have always done it this way."
I rolled my eyes at the TL and then promptly left.
Later, when my colleague and I were out of sight and earshot of the TL,
my colleague said that the TL said: "Don't talk to David anymore."
(I gave this GL "Dino" as a nickname because they were busy barking
orders all day long and reminded me of The Flintstones' character.)

(I always say about banks (and I've worked at a bunch) that if they were
even slightly intelligent, how much more they could earn for their
shareholders.)

Regards,
David

On 2023-03-14 21:44, Ed Jaffe wrote:
> On 3/14/2023 6:05 PM, David Spiegel wrote:
>> Hi Ed,
>> I knew that there were means of ensuring integrity and that's why I
>> asked the question.
>
> It was a brilliant question!
>
> His ignorance about why he should trust tape was the same reason he
> distrusted the communication line.
>
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN