Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[6.9.2] Clock settings not taken into account on VM creation

  • Minor

I've set up an Unraid VM according to this documentation:

 

https://wiki.unraid.net/Manual/VM_Guest_Support#Unraid

 

During this process the "Slackware" template is being used. The default settings for the <clock> element in this template is this:

 

  <clock offset='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
  </clock>

 

Immediately after boot of this VM I checked the available clocksources:

 

root@TowerVM01:~# cat /sys/devices/system/clocksource/clocksource0/available_clocksource
acpi_pm

 

I couldn't believe that because "acpi_pm" is not mentioned anywhere. Looking in the syslog I do see "tsc" problems. This is usual for "tsc" running in a VM, but it's not usual here because "tsc" is not mentioned in the <clock> element at all. So I did another test:

 

<clock offset='utc'>
    <timer name='tsc' tickpolicy='catchup' mode='auto'/>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
</clock>

 

After that "tsc" is not mentioned in the "available_clocksource" again. Seems that this line was ignored.

 

After playing around with the <clock> section I came to the conclusion, that the <clock> element is not taken into account at all.

 

Here's what the same Unraid installation looks like, if running bare bone on host:

 

root@Tower:~# cat /sys/devices/system/clocksource/clocksource0/available_clocksource
tsc hpet acpi_pm

 

The "hpet" clock is set to "present='no'" in the VM declaration so I do understand it's absence. But what about "tsc". Whatever I do, it's not mentioned - but temporarely used during boot:

 

root@TowerVM01:~# grep -i clocks /var/log/syslog
May 18 06:54:02 TowerVM01 kernel: clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1910969940391419 ns
May 18 06:54:02 TowerVM01 kernel: clocksource: tsc-early: mask: 0xffffffffffffffff max_cycles: 0x285cbb610e9, max_idle_ns: 440795254255 ns
May 18 06:54:02 TowerVM01 kernel: clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns
May 18 06:54:02 TowerVM01 kernel: clocksource: timekeeping watchdog on CPU1: Marking clocksource 'tsc-early' as unstable because the skew is too large:
May 18 06:54:02 TowerVM01 kernel: clocksource:                       'refined-jiffies' wd_now: fffb7010 wd_last: fffb6e18 mask: ffffffff
May 18 06:54:02 TowerVM01 kernel: clocksource:                       'tsc-early' cs_now: 21906dee90 cs_last: 20e092a210 mask: ffffffffffffffff
May 18 06:54:02 TowerVM01 kernel: tsc: Marking TSC unstable due to clocksource watchdog
May 18 06:54:02 TowerVM01 kernel: clocksource: Switched to clocksource refined-jiffies
May 18 06:54:02 TowerVM01 kernel: clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns
May 18 06:54:02 TowerVM01 kernel: clocksource: Switched to clocksource acpi_pm

 

The reason why I play around with the <clock> element is, that in the same second of the VM boot, "tsc" is marked unstable and Unraid switches to "acpi_pm". This results in a 75% performance reduction. A parity check goes down from 15 hours (on tsc) to 60 hours (on acpi_pm). I do know these values because it was working 1-2 years ago.

 

So: What's the problem with the clocks and the <clock> section in a VM. Is this ignored?

 

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.