<div dir="ltr">Thank you for the explanation, Mark.<div><br></div><div>I've added the line "kern.hz=1000" to the file /boot.loader.conf and rebooted.  Now the system behaves much better and the issue went away.</div><div><br></div><div>-Hans</div></div><div class="gmail_extra"><br><div class="gmail_quote">2018-07-24 6:27 GMT+02:00 Mark Pizzolato <span dir="ltr"><<a href="mailto:Mark@infocomm.com" target="_blank">Mark@infocomm.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="blue" vlink="purple"><div class="m_-8885543177245488079WordSection1"><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Hi Hans,<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Notice:      “</span>Time taken by msleep(1): 20ms<span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">”<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Well, the simulator framework implements idling with sleeps.  Meanwhile the simulated VAX has a clock which is architecturally defined to tick at 10ms intervals.  If any call to sleep for 1 millisecond actually sleeps for 20 milliseconds, then whenever the system idles the clock is going to get far behind.  Older simh versions would simply refuse to idle when the sleep granularity was too large.  The current implementation tries to actually allow idling when the host system’s sleep is large and also tries hard to schedule catchup clock ticks so that simulated time tracks pretty closely with wall clock time.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">This attempt to run with catchup clock ticks, hasn’t been extensively tested since only a few BSD systems actually have large scheduling clock ticks built into the kernel by default.  Therefore, there may be problems.  Most other systems (Windows, Linux, and OS X) have host system clock ticks on the order of 1-2ms so these systems don’t have this problem.<a name="m_-8885543177245488079__MailEndCompose"><u></u><u></u></a></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">You can build a kernel for your BSD system by specifying or changing the value of HZ somewhere in the kernel configuration information, or you could try running on a different host platform.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p><p class="m_-8885543177245488079MsoListParagraph"><u></u><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><span>-<span style="font:7.0pt "Times New Roman"">          </span></span></span><u></u><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Mark <u></u><u></u></span></p><div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt"><div><div style="border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0in 0in 0in"><p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Hans Hübner [mailto:<a href="mailto:hans.huebner@gmail.com" target="_blank">hans.huebner@gmail.com</a><wbr>] <br><b>Sent:</b> Friday, July 20, 2018 10:57 PM<br><b>To:</b> Mark Pizzolato <<a href="mailto:Mark@infocomm.com" target="_blank">Mark@infocomm.com</a>><br><b>Cc:</b> Matt Burke <<a href="mailto:matt@9track.net" target="_blank">matt@9track.net</a>>; Simh <<a href="mailto:simh@trailing-edge.com" target="_blank">simh@trailing-edge.com</a>><br><b>Subject:</b> Re: [Simh] DECwindows issues<u></u><u></u></span></p></div></div><div><div class="h5"><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">Hi Matt,<u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">2018-07-20 20:26 GMT-04:00 Mark Pizzolato <<a href="mailto:Mark@infocomm.com" target="_blank">Mark@infocomm.com</a>>:<u></u><u></u></p></div><div><div><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in"><p class="MsoNormal"><span class="m_-8885543177245488079gmail-">On Friday, July 20, 2018 3:45 PM, Hans Hübner  wrote:</span><br><span class="m_-8885543177245488079gmail-">> 2018-07-20 18:28 GMT-04:00 Matt Burke <<a href="mailto:matt@9track.net" target="_blank">matt@9track.net</a>>:</span><br><span class="m_-8885543177245488079gmail-">> > On 19/07/2018 06:41, Hans Hübner wrote:</span><br><span class="m_-8885543177245488079gmail-">> > > I see either one of the DECwindows processes (window or session</span><br><span class="m_-8885543177245488079gmail-">> > > manager) use more than 50% of the VAX CPU or, if I kill both</span><br><span class="m_-8885543177245488079gmail-">> > > processes, the emulator taking up 100% of its host CPU with no VAX</span><br><span class="m_-8885543177245488079gmail-">> > > process showing up in MONITOR PROC/TOPCPU.  The emulated system is too</span><br><span class="m_-8885543177245488079gmail-">> > > slow to be used, effectively.</span><br><span class="m_-8885543177245488079gmail-">> ></span><br><span class="m_-8885543177245488079gmail-">> > I don't seem to be able to reproduce this (on Debian 9.5).</span><br><span class="m_-8885543177245488079gmail-">></span><br><span class="m_-8885543177245488079gmail-">> I'm running SIMH on FreeBSD, but I can switch if the problem is related to that.</span><br><span class="m_-8885543177245488079gmail-"> </span><br>It might be related to the host OS.<br><br>Please let it get to the state you're complaining about and then:<br>^E<br>sim> SHOW VERSION<br>sim> CLOCK<br>sim> SHOW CPU<br><br>and send the output produced back here.<u></u><u></u></p></blockquote><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Here you go:<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">sim> show version<u></u><u></u></p></div><div><p class="MsoNormal">VAXStation 3900 (KA655) simulator V4.0-0 Current<u></u><u></u></p></div><div><p class="MsoNormal">    Simulator Framework Capabilities:<u></u><u></u></p></div><div><p class="MsoNormal">        64b data<u></u><u></u></p></div><div><p class="MsoNormal">        64b addresses<u></u><u></u></p></div><div><p class="MsoNormal">        Threaded Ethernet Packet transports:PCAP:TAP:NAT:UDP<u></u><u></u></p></div><div><p class="MsoNormal">        Idle/Throttling support is available<u></u><u></u></p></div><div><p class="MsoNormal">        Virtual Hard Disk (VHD) support<u></u><u></u></p></div><div><p class="MsoNormal">        Asynchronous I/O support (Lock free asynchronous event queue)<u></u><u></u></p></div><div><p class="MsoNormal">        Asynchronous Clock support<u></u><u></u></p></div><div><p class="MsoNormal">        FrontPanel API Version 12<u></u><u></u></p></div><div><p class="MsoNormal">    Host Platform:<u></u><u></u></p></div><div><p class="MsoNormal">        Compiler: GCC 6.4.0<u></u><u></u></p></div><div><p class="MsoNormal">        Simulator Compiled as C arch: x64 (Release Build) on Jul 18 2018 at 07:32:15<u></u><u></u></p></div><div><p class="MsoNormal">        Memory Access: Little Endian<u></u><u></u></p></div><div><p class="MsoNormal">        Memory Pointer Size: 64 bits<u></u><u></u></p></div><div><p class="MsoNormal">        Large File (>2GB) support<u></u><u></u></p></div><div><p class="MsoNormal">        SDL Video support: SDL Version 2.0.7<u></u><u></u></p></div><div><p class="MsoNormal">        PCRE RegEx (Version 8.42 2018-03-20) support for EXPECT commands<u></u><u></u></p></div><div><p class="MsoNormal">        OS clock resolution: 1ms<u></u><u></u></p></div><div><p class="MsoNormal">        Time taken by msleep(1): 20ms<u></u><u></u></p></div><div><p class="MsoNormal">        OS: FreeBSD vaxhost 11.2-RELEASE FreeBSD 11.2-RELEASE #0 r335510: Fri Jun 22 04:32:14 UTC 2018     <a href="mailto:root@releng2.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC" target="_blank">root@releng2.nyi.freebsd.org:<wbr>/usr/obj/usr/src/sys/GENERIC</a>  amd64<u></u><u></u></p></div><div><p class="MsoNormal">        git commit id: 15fd71b9<u></u><u></u></p></div><div><p class="MsoNormal">        git commit time: 2018-07-17T22:05:05-0700<u></u><u></u></p></div><div><p class="MsoNormal">sim> show clock<u></u><u></u></p></div><div><p class="MsoNormal">Minimum Host Sleep Time:       20 ms (50Hz)<u></u><u></u></p></div><div><p class="MsoNormal">Host Clock Resolution:         1 ms<u></u><u></u></p></div><div><p class="MsoNormal">Execution Rate:                1,358,783,530 cycles/sec<u></u><u></u></p></div><div><p class="MsoNormal">Idling:                        Enabled<u></u><u></u></p></div><div><p class="MsoNormal">Time before Idling starts:     20 seconds<u></u><u></u></p></div><div><p class="MsoNormal">Calibrated Timer:              Internal Timer<u></u><u></u></p></div><div><p class="MsoNormal">Catchup Ticks:                 Enabled for clocks ticking faster than 50 Hz<u></u><u></u></p></div><div><p class="MsoNormal">Calibration:                   Always<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">VAXStation 3900 (KA655) clock device is CLK<u></u><u></u></p></div><div><p class="MsoNormal">Calibrated Timer 0:<u></u><u></u></p></div><div><p class="MsoNormal">  Running at:                100 Hz<u></u><u></u></p></div><div><p class="MsoNormal">  Tick Size:                 10 msecs<u></u><u></u></p></div><div><p class="MsoNormal">  Ticks in current second:   82<u></u><u></u></p></div><div><p class="MsoNormal">  Seconds Running:           80 (1:20 minutes)<u></u><u></u></p></div><div><p class="MsoNormal">  Real Time:                 3144059812<u></u><u></u></p></div><div><p class="MsoNormal">  Virtual Time:              3144059812<u></u><u></u></p></div><div><p class="MsoNormal">  Next Interval:             1,000<u></u><u></u></p></div><div><p class="MsoNormal">  Base Tick Delay:           5,000<u></u><u></u></p></div><div><p class="MsoNormal">  Initial Insts Per Tick:    5,000<u></u><u></u></p></div><div><p class="MsoNormal">  Current Insts Per Tick:    13,587,835<u></u><u></u></p></div><div><p class="MsoNormal">  Initializations:           5<u></u><u></u></p></div><div><p class="MsoNormal">  Ticks:                     6,795<u></u><u></u></p></div><div><p class="MsoNormal">  Total Ticks:               8,082<u></u><u></u></p></div><div><p class="MsoNormal">  Peak Clock Skew:           825.867 msecs slow<u></u><u></u></p></div><div><p class="MsoNormal">  Ticks Acked:               6,795<u></u><u></u></p></div><div><p class="MsoNormal">  Tick Time:                 1:07.95 minutes<u></u><u></u></p></div><div><p class="MsoNormal">  Total Tick Time:           1:20.81 minutes<u></u><u></u></p></div><div><p class="MsoNormal">  Catchup Ticks Sched:       6,065<u></u><u></u></p></div><div><p class="MsoNormal">  Initialize Base Time:      07:53:37.188<u></u><u></u></p></div><div><p class="MsoNormal">  Tick Start Time:           07:53:37.196<u></u><u></u></p></div><div><p class="MsoNormal">  Wall Clock Time Now:       07:55:35.790<u></u><u></u></p></div><div><p class="MsoNormal">  Catchup Tick Time:         07:54:56.606<u></u><u></u></p></div><div><p class="MsoNormal">  Catchup Base Time:         07:53:48.656<u></u><u></u></p></div><div><p class="MsoNormal">  Total Time Idled:          2.439 seconds<u></u><u></u></p></div><div><p class="MsoNormal">VAXStation 3900 (KA655) clock device is Internal Calibrated Timer(INT-TIMER)<u></u><u></u></p></div><div><p class="MsoNormal">Calibrated Timer 8:<u></u><u></u></p></div><div><p class="MsoNormal">  Running at:                10 Hz<u></u><u></u></p></div><div><p class="MsoNormal">  Tick Size:                 100 msecs<u></u><u></u></p></div><div><p class="MsoNormal">  Ticks in current second:   6<u></u><u></u></p></div><div><p class="MsoNormal">  Seconds Running:           23 (23 seconds)<u></u><u></u></p></div><div><p class="MsoNormal">  Calibration Opportunities: 23<u></u><u></u></p></div><div><p class="MsoNormal">  Instruction Time:          1570864774<u></u><u></u></p></div><div><p class="MsoNormal">  Real Time:                 3144081177<u></u><u></u></p></div><div><p class="MsoNormal">  Virtual Time:              3144082804<u></u><u></u></p></div><div><p class="MsoNormal">  Next Interval:             1,500<u></u><u></u></p></div><div><p class="MsoNormal">  Base Tick Delay:           90,585,569<u></u><u></u></p></div><div><p class="MsoNormal">  Initial Insts Per Tick:    50,000<u></u><u></u></p></div><div><p class="MsoNormal">  Current Insts Per Tick:    135,878,353<u></u><u></u></p></div><div><p class="MsoNormal">  Initializations:           3<u></u><u></u></p></div><div><p class="MsoNormal">  Ticks:                     235<u></u><u></u></p></div><div><p class="MsoNormal">  Tick Time:                 23.5 seconds<u></u><u></u></p></div><div><p class="MsoNormal">  Initialize Base Time:      07:53:37.180<u></u><u></u></p></div><div><p class="MsoNormal">  Tick Start Time:           07:53:37.180<u></u><u></u></p></div><div><p class="MsoNormal">  Wall Clock Time Now:       07:55:35.790<u></u><u></u></p></div><div><p class="MsoNormal">sim> show cpu<u></u><u></u></p></div><div><p class="MsoNormal">CPU  idle=VMS, idle enabled, model=MicroVAX 3900 (KA655), NOAUTOBOOT<u></u><u></u></p></div><div><p class="MsoNormal">          64MB, HALT to SIMH<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Thanks!<br>Hans<u></u><u></u></p></div></div></div></div></div></div></div></div></div></blockquote></div><br></div>