When the host sleeps...

OpenVMS virtualization: OpenVMS on VirtualBox, VMWare, Hyper-V, KVM, and more.
Post Reply

Topic author
jonesd
Valued Contributor
Posts: 74
Joined: Mon Aug 09, 2021 7:59 pm
Reputation: 0
Status: Offline

When the host sleeps...

Post by jonesd » Sat Apr 29, 2023 1:03 pm

I'm running the field test on a laptop. When it goes to sleep and wake ups, the VMS time resumes from the time
VirtualBox was suspended. Since nothing was happening, the obvious thing is to jump the time forward to the current time. The NTP daemon doesn't appear designed to handle this situation.

Do hypervisors communicate a wake event to the guest and if so are there any plans to make OpenVMS handle it.

User avatar

arne_v
Master
Posts: 308
Joined: Fri Apr 17, 2020 7:31 pm
Reputation: 0
Location: Rhode Island, USA
Status: Offline
Contact:

Re: When the host sleeps...

Post by arne_v » Sat Apr 29, 2023 3:12 pm

It is sort of to be expected.

As I understand my almost 30 years old IDSM then VMS read the HW clock at startup, stores it in memory (EXE$GQ_SYSTIME etc.) and a thousand times per second or more some interrupt code running at IPL 22 updates that memory location.

That does not work if the entire system is sleeping.

Obviously the basic mechanism can be changed, but I suspect that would be a major change to VMS.

Adding a configuration option to NTP "allow_rapid_time_jumps_forward_on_vms_on_pcs_to_handle_wakeup" would probably be the least intrusive (standard I believe NTP does not allow huge time jumps).
Arne
arne@vajhoej.dk
VMS user since 1986

User avatar

martin
Valued Contributor
Posts: 70
Joined: Tue Mar 22, 2022 6:47 pm
Reputation: 0
Location: England
Status: Offline

Re: When the host sleeps...

Post by martin » Mon May 01, 2023 6:02 am

RFC 5905 defines a parameter PANICT which, by default, is set at 1,000 seconds, or just under 20 minutes. See RFC5905§11.3. If any offset exceeds this value then NTP will consider it a "false-ticker" and exclude it from consideration. During ntpd (or equivalent) startup, systems can be configured to ignore this parameter and accept any offset leading to time jumping rather than slewing.

I suspect that you need to detect sleep-wakeup events and restart the NTP implementation. I've not done it myself, my VMs are on the server machine and so don't experience this particular problem.
Martin
  • Retired System Manager: VMS/UNIX/UNICOS/Linux.
  • Started on a VAX 11/782 in 1984 with VMS 3.6.

Post Reply