Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

CMS ("Code Management System") may become appear very slow in guest OS (VMS) on certain fast CHARON-VAX hosts. The cause of the problem is design of CMS system itself, since CMS tends to put itself in Hibernation mode for some unknown reason. Apparently this was known to CMS team, and instead of fixing it, they made a workaround by sending a wakeup signal to CMS itself every second.  So, the faster the hosting server is (CHARON-VAX), faster CMS gets into Hibernation state, and stays longer there A process running CMS places itself into hibernation for unknown reason, and wakes up once a second. This regular hibernation makes the CMS utility very slow. Reason for hibernation is not clear and appears to be a "feature" of CMS.

Solution

To workaround this problem a special utility "FRCWAK" ("Forced WakupFoRCed WAKeup") has been developed by Stromasys. It sends a wakeup command to wakes up the process running CMS 10 times a second to prevent its going to Hibertation state. Which effectively reduces total time the process stays in hibernation, and makes the CMS utility moving faster.

Panel
bgColor#fff
To apply the workaround:
  1. Download zip archive containing a disk image with "FRCWAK" utility executable.
  2. Unzip the archive.
  3. Mount this disk image under host OS (VMS) and copy the utility to "sys$sysdevice:[frcwak]" folder.
  4. Use it in the following way:

    $ run /process='f$getjpi("","PID")' sys$sysdevice:[frcwak]frcwak
    $ < ... CMS operations ... >
    $ stop 'f$getjpi("","PID")'
    Note

    Note that the PID of the process which needs wakeup is passed to "FRCWAK" utility through name of the process running the utility. This is to bypass nightmare passing parameters to another process.

  5. In certain situations the provided executable of "FRCWAK" utility has to be re-compiled. Use its source code for that (this source code is also available on the utility's disk image - see above):

    $ cc/list frcwak.c
    $ link frcwak

...

...