home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / archives / 2987 < prev    next >
Encoding:
Internet Message Format  |  1992-07-29  |  5.1 KB

  1. Path: sparky!uunet!sun-barr!ames!agate!agate!usenet
  2. From: heinrich@yvax.byu.edu
  3. Newsgroups: comp.archives
  4. Subject: [comp.os.vms] Software for resolving RWAST states available
  5. Followup-To: comp.os.vms
  6. Date: 30 Jul 1992 09:12:02 GMT
  7. Organization: Brigham Young University
  8. Lines: 109
  9. Approved: adam@soda.berkeley.edu
  10. Distribution: world
  11. Message-ID: <158bp2INN503@agate.berkeley.edu>
  12. References: <1992Jul28.200343.855@yvax.byu.edu>
  13. NNTP-Posting-Host: soda.berkeley.edu
  14. X-Original-Newsgroups: comp.os.vms
  15. X-Original-Date: 28 Jul 92 20:03:43 -0700
  16.  
  17. Archive-name: auto/comp.os.vms/Software-for-resolving-RWAST-states-available
  18.  
  19. FREE_RSN - A utility program to get a process out of RWAST state. 
  20.  
  21. In response to some traffic I saw here recently about processes
  22. stuck in an RWAST state, I am making available a utility I wrote a
  23. couple of years ago called FREE_RSN.  FREE_RSN attempts to resolve a
  24. resource shortage that may be causing a process to remain in RWAST
  25. state.  This utility will examine a process, specified by the PID
  26. entered at execution time, and try to determine what resource the
  27. process is waiting on.  If the process is RWAST'd due to a depleted
  28. process QUOTA, FREE_RSN will bump the quota in an effort to allow the
  29. process to continue.  If the resource is a MUTEX, FREE_RSN will report
  30. the address of the MUTEX.
  31.  
  32.  
  33. FREE_RSN serves two purposes.  First, it attempts to get a process
  34. out of a RWAST state, and avoid a possible reboot, if the resource
  35. is a quota-related problem.  Secondly, for processes that are not 
  36. waiting on a quota that it can bump, FREE_RSN will provide additional
  37. information so that the system manager can take other actions to
  38. possibly resolve the RWAST state.  
  39.  
  40.  
  41. FREE_RSN specifically looks for five cases of insufficient quota:
  42. BYTLM, DIOLM, BIOLM, ASTLM, and TQLM.  If FREE_RSN detects any of
  43. these five quotas as being the problem, it will increment the 
  44. appropriate fields in the JIB, PCB, and/or PHD and attempt to
  45. reschedule the process.  NOTE:  If FREE_RSN detects that a quota
  46. shortage is causing the process to be in a RWAST state, and after
  47. running FREE_RSN the process is still in RWAST state, you may have
  48. to re-execute FREE_RSN.
  49.  
  50.  
  51.  
  52. *********************************************************************
  53. DISCLAIMER:
  54.  
  55. FREE_RSN is coded in Macro-32, executes in KERNEL mode, and calls
  56. undocumented VMS scheduling routines.  As with any privileged code 
  57. utility, there is always a chance of a system crash.  Although I
  58. and other people have used this program several times and have not
  59. experienced any crashes, FREE_RSN was written as a hack, not as a
  60. PRODUCTION QUALITY utility, and may not be 100% bug free.
  61.  
  62. As FREE_RSN is being made available free of cost, neither the author
  63. nor The LOKI Group, Inc., are responsible for any loss or damage 
  64. that might result from use of the FREE_RSN utility.
  65.  
  66. **********************************************************************
  67.  
  68.  
  69. Hunter Goatley, that great believer in "shareware", (and all around
  70. nice-guy), has agreed to make FREE_RSN available from his file server.
  71.  
  72.  
  73. To get FREE_RSN via anonymous ftp from ftp.spc.edu, you'll need the
  74. following files:
  75.  
  76.         [.MACRO32]LZDCMP.EXE
  77.         [.MACRO32.SAVESETS]FREE_RSN.BCK_Z
  78.  
  79. To get it via e-mail, send the following command in the body of a mail
  80. message to FILESERV@WKUVX1.BITNET:
  81.  
  82. SEND FREE_RSN
  83.  
  84.  
  85.  
  86. Brief Overview of RWAST state:
  87.  
  88. A wait state is a VMS scheduling state, actually a queue, that a 
  89. process is put into while it is waiting for the occurrence of an
  90. event or the availability of a system resource.  The MWAIT state
  91. is used when a process must wait for a depleted system resource, 
  92. job quota, or locked mutex.  A process that is in MWAIT state has 
  93. its PCB inserted on the MWAIT queue, located at SCH$GQ_MWAIT.  (There
  94. is no distinction made between resident and outswapped processes in
  95. the MWAIT queue).  The PCB field PCB$L_EFWM contains the entity that
  96. the process is waiting for.  If the process is waiting on a MUTEX,
  97. then PCB$L_EFWM contains the address of the mutex.  If the process
  98. is waiting for a pooled job quota, then PCB$L_EFWM contains the
  99. address of the JIB for the process.  If the process is waiting on
  100. a system resource, then PCB$L_EFWM contains the symbolic value of
  101. the resource being waited on, defined in the $RSNDEF macro in LIB.MLB.
  102. The system global longword, SCH$GL_RESMASK, has a bit set for each
  103. system resource that a process in the MWAIT queue is waiting on.
  104. The process exits the MWAIT state and becomes computable when an
  105. executive routine declares the resource it was waiting on to be
  106. available.
  107.  
  108. A process is placed in the RWAST scheduling state when it is waiting
  109. on a resource that is expected to be satisfied by the queuing or 
  110. delivery of an AST to the process.  Unlike the other wait states,
  111. there is no one specific resource that corresponds to the RSN$_ASTWAIT
  112. symbolic name.  
  113.  
  114.  
  115. Note that FREE_RSN does not deal with ALL MWAIT cases, only those that
  116. can be resolved by adjusting process specific parameters.
  117.  
  118.  
  119. *+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*
  120. Ed Heinrich
  121. The LOKI Group, Inc.
  122. HEINRICH@yvax.byu.EDU
  123. *+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*
  124.  
  125.  
  126.