- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - OpenVMS
- >
- high CPU utilization on STEP/RET
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Discussions
Discussions
Discussions
Forums
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО12-23-2009 04:05 AM
тАО12-23-2009 04:05 AM
PASCAL (using RDO), RdB:
@@2:WGR> pascal/vers
HP Pascal I64 V6.1-116 on OpenVMS I64 V8.3-1H1
@@2:WGR> rdo sho ver
Current version of RDO is: Oracle Rdb V7.2-200
It concerns an interactive program, using SMG 'windowing' under_the_hood. Main program and one module build sources /DEB/NOOPT, rest ob objects from library, built without debug.
The compilation strings used (for all modules) is:
PAS*CAL == "PASCAL/G_FLOATING/ALIGN=VAX/USAGE=NOVOLATILE/ENUM=BYTE"
G_FLOATING since that is a recommendation from the RMDL pre-compiler.
Linked execuatble using /DEB.
No warnings or worse have been issued in any step of image creation.
Run program, set breakpoint in module; on breakpoint: set mode screen, ^W to be able to step thrtough code. Now step/ret will cause excessive CPU utilization causing stalling other processes.
All database access has been executed before breakpoint; the program is wordking on an internal array (quite heavily and resursively).
Other debug actvities show no problem at all. It's just that STEP/RET causes this problem.
I won't rule out that bad allignment may be part of the problem, but I don't unerstand why that would be exposed so severely in step/return only.
Can this be explained - adn, if possible, solved?
OpenVMS Developer & System Manager
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО12-23-2009 04:40 AM
тАО12-23-2009 04:40 AM
SolutionI think I can also reproduce this with a very small FORTRAN example. It seems to behave as expected on Alpha, but causes major CPU consumption on I64:
Program ITRC_1395846
CALL SUB
E N D
SUBROUTINE SUB
INTEGER*4 j /0/
DO I=1,100000000
J = j + 1
END DO
TYPE *,'J=',J
RETURN
E N D
I tried DBG> SET BR SUB and DBG> GO, then DBG> STEP/RET. It takes a little while (depending on CPU speed of Alpha) and then reaches the breakpoint at the RET.
If I run the same on OpenVMS I64, it uses vast amount of CPU (check with CTRL-T), before it finally reaches the RET breakpoint - it still hasn't, but I think it will...
Let me guess: the implementation of I64 may cause a trap after executing each instruction and check, whether the RET has been reached, whereas the implementation on Alpha may just 'know' where the RET is and set a breakpoint directly.
Volker.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО12-23-2009 04:45 AM
тАО12-23-2009 04:45 AM
Re: high CPU utilization on STEP/RET
if I look at the PCS (PC-sampling) data on the Itanium, most of the samples are in DEBUG.EXE, not in the original executing image. So my assumption about the implementation of STEP/RETURN on I64 may be right...
Volker.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО12-23-2009 04:48 AM
тАО12-23-2009 04:48 AM
Re: high CPU utilization on STEP/RET
to reduce the impact of this, just lower the priority of your process before starting to debug this piece of code with STEP/RETURN
Volker.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО12-23-2009 09:22 AM
тАО12-23-2009 09:22 AM
Re: high CPU utilization on STEP/RET
Purely Personal Opinion
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО12-23-2009 12:41 PM
тАО12-23-2009 12:41 PM
Re: high CPU utilization on STEP/RET
OpenVMS Developer & System Manager
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО12-24-2009 04:20 AM
тАО12-24-2009 04:20 AM
Re: high CPU utilization on STEP/RET
Maybe, but unlikely: Volker would have reported to have seen PCs in LIBRTL.EXE or EXCEPTION.EXE.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО12-24-2009 05:55 AM
тАО12-24-2009 05:55 AM
Re: high CPU utilization on STEP/RET
http://www.cgo.org/cgo2004/papers/01_82_luk_ck.pdf
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО12-25-2009 12:19 AM
тАО12-25-2009 12:19 AM
Re: high CPU utilization on STEP/RET
an even better workaround would be to explicitly set a temporary breakpoint on the RETURN instruction source code line from this subroutine with:
DBG> SET BREAK/TEMP %line x
According to help, STEP/RETURN is the same as SET BREAK/TEMPORARY/RETURN;GO
It may be a simple problem of how this functionality has been implementated on Itanium.
Volker.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО12-26-2009 08:12 AM
тАО12-26-2009 08:12 AM
Re: high CPU utilization on STEP/RET
I, for one, would like to hear the results of whether there were large numbers of faults resulting from unaligned data.
While the DEBUGGER is admittedly a bad case for exceptions and branches, I would like to confirm that the problem is not correctable before settling for that conclusion. If the exceptions are for unaligned data, that is eminently correctable without a major redesign.
- Bob Gezelter, http://www.rlgsc.com