Re: CEEVGTSI GET A STACK INCREMENT performance problem

2009-03-18 Thread Nicholas Carbone
On Wed, 18 Mar 2009 04:32:44 -0500, Big Iron billlalo...@rocketmail.com wrote:

The storage report doesn't appear to indicate an issue. You may wish to
investigate performance issues with CEEVGTSI with IBM support.

Bill

On Wed, 18 Mar 2009 10:26:50 +0200, Arie Kremer arie...@gmail.com wrote:

Hi,

Please see my question at the end of this mail...

Our customer run strobe report and found that  CEEVGTSI  took 55% CPU:

.LELIBCEEBINIT CEEVGTSI GET A STACK
INCREMENT  54.55 54.55  54.55 54.55
 .LELIBCEEBINIT CEEVOGTS XTND USR STK/DSA
OPLINK 3.35  3.35  57.90 57.90
 .LELIBCEEPLPKA CEEV#GH  ALLOCATE
STORAGE2.37  2.41  60.27 60.31
 .LELIBCEEPLPKA CEEV#FH  FREE
STORAGE2.26  2.26  62.53
62.57
 .LELIBCEEEV003 EDCVSPTF LE/370 C EVENT
HANDLER  1.05  1.05  63.58 63.62
 BASE  @ST00038
000F50  2  .93   .93  64.51 64.55
 BASE  @ST00105
002B84  2  .82   .82  65.33 65.37
 .LELIBCEEEV003 EDCMMOVE LE/370 C EVENT
HANDLER   .51   .51  65.84 65.88
 .LELIBCEEBINIT CEEVGTS  XTND USR STACK, GET
DSA  .47   .47  66.31 66.35
 .COMSERV  EZBTIINI EZBTCFWR
TCP/IP   .43   .43
66.74 66.78


CEEVGTSI is called from many places of our BASE module. The product uses
multothread architechture, it receives TCP/IP requests and moves them to
CICS via EXCI.

ALL31(OFF)

RPTSTG report:
0STACK statistics:
   Initial size:  2048000
   Increment size:1024000
   Maximum used by all concurrent threads:  31584
   Largest used by any thread:  31584
   Number of segments allocated:1
   Number of segments freed:0
0THREADSTACK statistics:
   Initial size:0
   Increment size:  0
   Maximum used by all concurrent threads:  0
   Largest used by any thread:  0
   Number of segments allocated:0
   Number of segments freed:0
0LIBSTACK statistics:
   Initial size:32768
   Increment size:  16384
   Maximum used by all concurrent threads:  0
   Largest used by any thread:  0
   Number of segments allocated:1
   Number of segments freed:0
0THREADHEAP statistics:
   Initial size: 4096
   Increment size:   4096
   Maximum used by all concurrent threads:  0
   Largest used by any thread:  0
   Successful Get Heap requests:0
   Successful Free Heap requests:   0
   Number of segments allocated:0
   Number of segments freed:0
0HEAP statistics:
   Initial size: 14336000
   Increment size: 524288
   Total heap storage used (sugg. initial size): 11751304
   Successful Get Heap requests:   144269
   Successful Free Heap requests:  144237
   Number of segments allocated:1
   Number of segments freed:0


My question is: may the large number of Get heap requests cause such
problem? If not, what the problem may be?

Arie Kremer


The first thing to be sure to understand is that when RPTSTG(ON) is in
effect, CEEVGTSI will get control all the time.  What are the numbers for
the CSECT usage when RPTSTG(ON) is not in effect?  Also, what runtime
options are in effect?

Heavy usage of CEEVGTSI is almost always attributed to one or more of the
following conditions: 1) RPTSTG(ON) being in effect, 2) runtime option
STORAGE(,,xx) where xx is something other than NONE or CLEAR, and 3) when
the application may be toggling over a stack segment boundary due to
STACK(,,,FREE) being in effect.

Nick Carbone
IBM Language Environment

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

Re: CEEPRM00 for dummies (me)

2009-03-18 Thread Nicholas Carbone
The CEEDOPT syntax which includes the '=' sign and the OVR|NONOVR suboption
is not permitted in CEEPRM00.

Rick Fochtman wrote:

In this example you post, your parentheses are badly out of balance.
Could that be a contributing factor ??

John Kelly wrote:

I am attempting to put in CEEPRM00 and I am having syntax/usage
problem(s). The initTuning manual implies that
 The valid options for each group in a parmlib member are the same
options that are valid in the Assembler parts of the same name and the
assembler example is :
CEEDOPT  CSECT
CEEDOPT  AMODE ANY
CEEDOPT  RMODE ANY
 CEEXOPT ABPERC=((NONE),OVR),
 ABTERMENC=((ABEND),OVR),

So using the CEEPRM00 example and our usermod parms, I coded

CEEDOPT(
ABPERC((NONE),OVR),
ABTERMENC((ABEND),OVR),

when I set the member (t cee=01), I receive the rather obtuse message that
indicate that the member has errors. Line number would a good addition but
I digress. The message go for a while and I think that it doesn't like the
OVR sub option? Any help available ?
The error messages, for the first option, I think, are:

CEE3731I THE FOLLOWING MESSAGES PERTAIN TO THE SYSTEM DEFAULT RUN-TIME
OPTIONS IN THE OPTIONS GROUP CEEDOPT IN PARMLIB MEMBER
CEEPRM01
CEE3604I THE CHARACTOR '(' IS NOT A VALID SUBOPTION DELIMITER FOR RUN-TIME
OPTIONS.
CEE3612I TOO MANY SUBOPTIONS WERE SPECIFIED FOR THE RUN-TIME OPTION ABPERC
.
CEE3603I THE CHARACTOR ')' IS NOT A VALID RUN-TIME OPTION DELIMITER.
CEE3611I THE RUN-TIME OPTION OVR WAS AN INVALID RUN-TIME OPTION OR IS
NOT SUPPORTED IN THIS RELEASE OF LANGUAGE ENVIRONMENT.


Jack Kelly
202-502-2390 (Office)

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html




--
Rick
--
Remember that if you’re not the lead dog, the view never changes.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Nick Carbone
IBM Language Environment

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html


Re: CEEPIPI questions

2007-03-28 Thread Nicholas Carbone
Miklos,

I believe in this environment, each TCB will needs its own CEEPIPI 
environment.  If there will be multiple TCBs that need POSIX(ON), then you 
probably also need to do the BPX1SDD (set_dub_default) call to tell UNIX 
System Services to create a new process just prior to the CEEPIPI 
initialization call.  The U4093-AC is specific to multiple POSIX(ON) enclaves 
in 
the same LE process, but I am missing how you might be getting that.

I know I have not addressed all of your questions.

On Tue, 6 Mar 2007 14:28:45 +0100, Miklos Szigetvari 
[EMAIL PROTECTED] wrote:

I have a multitask assembler server application, which calls C++
POSIX(ON) modules in different point of the processing:
for  example the XERCES XML parser, a HTML parser, etc.
I got some problems with multitasking and POSIX(ON), I got time to time
a 4093 x'AC' abend.
The idea was to use CEEPIPI to create independent environments.

My questions:
- can I use init_sub_dp in the main task and use the same token in all
the subtasks or I need to init the environment in every subtask ?
  I need an independent enclave for every subtask
-  can I use the call_sub_addr  ?
- how can  I pass parameters to the called routines ? #pragma
runopts(plist(os))

--
Miklos Szigetvari

Development Team
ISIS Information Systems Gmbh
tel: (+43) 2236 27551 570
Fax: (+43) 2236 21081

E-mail: [EMAIL PROTECTED]

Info: [EMAIL PROTECTED]
Hotline: +43-2236-27551-111

Visit our Website: http://www.isis-papyrus.com
---
This e-mail is only intended for the recipient and not legally
binding. Unauthorised use, publication, reproduction or
disclosure of the content of this e-mail is not permitted.
This email has been checked for known viruses, but ISIS accepts
no responsibility for malicious or inappropriate content.
---

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

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


Re: Java/LE Tuning Advice sought

2006-10-26 Thread Nicholas Carbone
On Thu, 26 Oct 2006 08:56:16 -0500, Kirk Wolf [EMAIL PROTECTED] wrote:

Tom,

John may correct me, but I believe that the storage report was from
running java -version
and not the actual program.

As previous mentioned on the forum, a LE Storage Report might be helpful
in figuring
out if there are tuning problems in LE.

There should be a way to get the app to shut down, here are some ideas:

- run under an interactive shell and use cntl-C to send SIGTERM to java.
- if running under BPXBATCH, you can use the ps command to find the
java process,
  and send it SIGTERM with:   kill -TERM pid 
- use the JBOSS console to shut it down.

- FWIW: if you were running JBOSS under JZOS, you could simply use the
MVS STOP command


Kirk

Pinnnacle wrote:


 John,

 LE storage looks good.  Any differences in your run times?  If not,
 your problem ain't LE.

 Tom


It is true the storage report would only be useful from the real 
application.  The problem is that the storage report will not be written 
if the application is terminated abnormally, and I think John said he 
could not get it to run to completion.

Nick Carbone

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


Re: Java/LE Tuning Advice sought

2006-10-26 Thread Nicholas Carbone
Thanks, this is what I wanted.  I've removed all but the options that are 
really going to matter for performance (for java)...

Programmer default   ALL31(ON)
Programmer default   ANYHEAP(786432,131072,ANYWHERE,FREE)
Programmer default   BELOWHEAP(24576,2048,FREE)
Programmer default
HEAP(4194304,524288,ANYWHERE,FREE,8192,4096)
Installation default
HEAPPOOLS(OFF,8,10,32,10,128,10,256,10,1024,10,2048,10,0,10,0,10,0,10,0,
10,0,10,0,10)
Programmer default
STACK(49152,16384,ANYWHERE,KEEP,65536,16384)
Programmer default   STORAGE(NONE,NONE,NONE,1024)
Installation default
THREADSTACK(OFF,4096,4096,BELOW,KEEP,131072,131072)

The java program does set several options as programmer defaults, as 
indicated above.  The one that might be causing an issue with respect to 
performance is STACK where the 5th suboption is only 64K.  The normal LE 
default is 512K here, but I believe Java reduced that to ensure more 
threads could be created.  Note that when THREADSTACK(OFF) is in effect, 
STACK values are used for pthreads.  That is why Java set a lower 
default.  Consider experimenting with larger values for the 5th suboption, 
possibly doubling and then adding 64K each time to see if it helps improve 
performance. HEAPPOOLS(ON) may also help.  Without a real storage report 
for some sample application that is considered to have a performance 
problem, I can't be more specific about what option values to use.

 I noticed STORAGE(00,NONE,NONE,0) as an installation
 default.  Hopefully this is not ever really in effect for a
 Java application.  The first suboption says to clear heap
 storage when it is allocated, could be expensive.

Installation default due to removal of WSCLEAR equivalent from current
COBOL compilers.  I see it is overridden in the above report.

-jc-

Yes, STORAGE(00) is for WSCLEAR equivalence.  I should have been more 
specific in my comment.  I really wanted to say that it is not recommeded 
to run that way for C/C++ or Java, and you will notice from the new 
options report that Java set STORAGE as a programmer default to what is 
the LE recommendation.

Nick Carbone

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


Re: Java/LE Tuning Advice sought

2006-10-26 Thread Nicholas Carbone
Bill,

CEE3DMP will not create a storage report like RPTSTG(ON).

Nick Carbone

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


Re: Java/LE Tuning Advice sought

2006-10-25 Thread Nicholas Carbone
If you send me an Options Report and Storage Report, obtained running 
RPTOPTS(ON) and RPTSTG(ON), I will do what I can to suggest LE options 
settings that may help improve performance.

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


Re: Java/LE Tuning Advice sought

2006-10-25 Thread Nicholas Carbone
On Wed, 25 Oct 2006 12:40:42 -0500, Kirk Wolf [EMAIL PROTECTED] wrote:

How about starting the app from an interactive Unix Shell and pressing
Cntl-C?

Chase, John wrote:
 -Original Message-
 From: IBM Mainframe Discussion List On Behalf Of Nicholas Carbone

 If you send me an Options Report and Storage Report, obtained running
 RPTOPTS(ON) and RPTSTG(ON), I will do what I can to suggest
 LE options settings that may help improve performance.


 Thanks, but the application has a defect that requires it to be
 cancelled to end execution and produce the reports.  Thus, I cannot
 produce them.

 I do have a console dump of its address space  :-)

 -jc-


The application is going to have to terminate normally to get the Storage 
Report.  So, if there is something more simple that can be run so I can 
get a look at the Options Report (want to see the default options for 
java), then maybe I see something there.

Nick Carbone

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


Re: Java/LE Tuning Advice sought

2006-10-25 Thread Nicholas Carbone
On Wed, 25 Oct 2006 14:42:46 -0500, Chase, John [EMAIL PROTECTED] wrote:

 -Original Message-
 From: IBM Mainframe Discussion List On Behalf Of Nicholas Carbone

 On Wed, 25 Oct 2006 12:40:42 -0500, Kirk Wolf wrote:

 How about starting the app from an interactive Unix Shell and pressing
 Cntl-C?

 The application is going to have to terminate normally to get
 the Storage Report.  So, if there is something more simple
 that can be run so I can get a look at the Options Report
 (want to see the default options for java), then maybe I see
 something there.

Best I can do is this, from the abortive attempt to run 
it interactively:

---£-Options Report for Enclave main 10/25/06 2:18:37 PM
Language Environment V01 R05.00

LAST WHERE SET OPTION
--
-
Installation default ABPERC(NONE)
Installation default ABTERMENC(ABEND)
Installation default   NOAIXBLD
Installation default ALL31(OFF)
Installation default ANYHEAP(16384,8192,ANYWHERE,FREE)
Installation default   NOAUTOTASK
Installation default BELOWHEAP(8192,4096,FREE)
Installation default CBLOPTS(ON)
Installation default CBLPSHPOP(ON)
Installation default CBLQDA(OFF)
Installation default CHECK(ON)
Installation default COUNTRY(US)
Installation default   NODEBUG
Installation default DEPTHCONDLMT(10)
Installation default ENVAR()
Installation default ERRCOUNT(0)
Installation default ERRUNIT(6)
Installation default FILEHIST
Installation default FILETAG(NOAUTOCVT,NOAUTOTAG)
Default settingNOFLOW
Installation default HEAP(32768,32768,ANYWHERE,KEEP,8192,4096)
Installation default HEAPCHK(OFF,1,0,0,0)
Installation default HEAPPOOLS
(OFF,8,10,32,10,128,10,256,10,1024,10,2048,10,0,10,0,10,0,10,0,10,0,10,0,10
)
Installation default INFOMSGFILTER(OFF)
Installation default INQPCOPN
Installation default INTERRUPT(OFF)
Installation default LIBRARY(SYSCEE)
Installation default LIBSTACK(4096,4096,FREE)
Installation default MSGFILE(SYSOUT,FBA,121,0,NOENQ)
Installation default MSGQ(15)
Installation default NATLANG(ENU)
IgnoredNONONIPTSTACK(See THREADSTACK)
Installation default OCSTATUS
Installation default   NOPC
Installation default PLITASKCOUNT(20)
Default setting  POSIX(ON)
Installation default PROFILE(OFF,)
Installation default PRTUNIT(6)
Installation default PUNUNIT(7)
Installation default RDRUNIT(5)
Installation default RECPAD(OFF)
Invocation command   RPTOPTS(ON)
Invocation command   RPTSTG(ON)
Installation default   NORTEREUS
Installation default RTLS(OFF)
Installation default   NOSIMVRD
Invocation command   STACK
(131072,131072,ANYWHERE,KEEP,131072,131072)
Installation default STORAGE(00,NONE,NONE,0)
Installation default TERMTHDACT(TRACE,,96)
Installation default   NOTEST(ALL,*,PROMPT,INSPPREF)
Installation default THREADHEAP(4096,4096,ANYWHERE,KEEP)
Installation default THREADSTACK
(OFF,4096,4096,BELOW,KEEP,131072,131072)
Installation default TRACE(OFF,4096,DUMP,LE=0)
Installation default TRAP(ON,SPIE)
Installation default UPSI()
Installation default   NOUSRHDLR(,)
Installation default VCTRSAVE(OFF)
Installation default VERSION()
Installation default XPLINK(OFF)
Installation default XUFLOW(AUTO)

#

Compared to the VSMDATA display from the dump I took the other day, the 
above does not even remotely reflect the storage allocated within the 
primary address space of the started task instance.

-jc-


Some comments.

It seems STACK is also specified in the _CEE_RUNOPTS, but I need to see 
the Options Report when that is not specified.  In other words, just 
specify _CEE_RUNOPTS=RPTOPTS(ON) RPTSTG(ON).

Is this a report from running the java program?  Maybe something 
like java -version might produce something that would tell me what the 
java application defaults are.  The options report here looks more like a 
hello world program, since most of the option values have the LE defaults.

I noticed STORAGE(00,NONE,NONE,0) as an installation default.  Hopefully 
this is not ever really in effect for a Java application.  The first 
suboption says to clear heap storage when it is allocated, could be 
expensive.

Nick Carbone

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email