Re: [Xen-devel] HPET enabled in BIOS, not presented as available_clocksource -- config, kernel code, &/or BIOS?

From: PGNet Dev
Date: Sat May 13 2017 - 17:59:06 EST


On 5/13/17 2:32 PM, Valentin Vidic wrote:
> On Sat, May 13, 2017 at 02:06:28PM -0700, PGNet Dev wrote:
>> xl dmesg | grep -i hpet | grep -vi command
>> [ 1.365876] hpet_acpi_add: no address or irqs in _CRS
>> [ 1.365876] hpet_acpi_add: no address or irqs in _CRS
>
> Ah, guess this is caused by console_to_ring boot option.
>
> Better check you are not missing info from the Xen ring buffer.
> It should start with the Xen version like this:
>

Interesting.

With, currently,

GRUB_CMDLINE_LINUX_XEN_REPLACE="... systemd.log_level=debug systemd.log_target=kmsg earlyprintk=xen,keep debug loglevel=8"

and

GRUB_CMDLINE_XEN=" ... console_timestamps console_to_ring conring_size=64 sched=credit2 sched_debug log_buf_len=16M iommu=verbose apic_verbosity=verbose loglvl=all guest_loglvl=all noreboot=false sync_console=true"

I've only

xl dmesg | head
299] sd 1:0:0:0: [sdb] 5860533168 512-byte logical blocks: (3.00 TB/2.73 TiB)
[ 9.449299] sd 1:0:0:0: [sdb] 5860533168 512-byte logical blocks: (3.00 TB/2.73 TiB)
[ 9.449300] sd 1:0:0:0: [sdb] 4096-byte physical blocks
[ 9.449300] sd 1:0:0:0: [sdb] 4096-byte physical blocks
[ 9.449328] sd 1:0:0:0: [sdb] Write Protect is off
[ 9.449328] sd 1:0:0:0: [sdb] Write Protect is off
[ 9.449329] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[ 9.449329] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[ 9.449347] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 9.449347] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA

Whereas in serial console,

Booting `OpenSUSE, with Xen hypervisor'Booting `OpenSUSE, with Xen hypervisor'



Loading Xen 4.9.0_04-493 with Linux 4.11.0-4.gcb15206-default ...Loading Xen 4.9.0_04-493 wit
h Linux 4.11.0-4.gcb15206-default ...

/EndEntire
/EndEntire
file path: file path: /ACPI(a0341d0,0)/ACPI(a0341d0,0)/PCI(1,1c)/PCI(1,1c)/PCI(0,0)/PCI(0,0)/
PCI(0,1)/PCI(0,1)/PCI(0,0)/PCI(0,0)/HardwareVendor
(cf31fac5-c24e-11d2-85f3-00a0c93ec93b)[1:
/HardwareVendor(cf31fac5-c24e-11d2-85f3-00a0c93ec93b)[1: 88 88 ]]/HD(2,1000,96000,c5cc9661271
ee648
,2,2)/HD(2,1000,96000,c5cc9661271ee648,2,2)/File(\EFI\OPENSUSE)
/File(\EFI\OPENSUSE)/File(xen-4.9.0_04-493.efi)/File(xen-4.9.0_04-493.efi)/EndEntire
/EndEntire
Xen 4.9.0_04-493 (c/s ) EFI loader
Using configuration file 'xen-4.9.0_04-493.cfg'
vmlinuz-4.11.0-4.gcb15206-default: 0x000000008b986000-0x000000008c06bf60
initrd-4.11.0-4.gcb15206-default: 0x000000008aab2000-0x000000008b985978
0x0000:0x00:0x19.0x0: ROM: 0x10000 bytes at 0x928a7018
0x0000:0x04:0x00.0x0: ROM: 0x8000 bytes at 0x9289e018
0x0000:0x10:0x00.0x0: ROM: 0x10800 bytes at 0x9287d018
__ __ _ _ ___ ___ ___ _ _ _ _ ___ _____
\ \/ /___ _ __ | || | / _ \ / _ \ / _ \| || | | || | / _ \___ /
\ // _ \ '_ \ | || || (_) | | | | | | | | || |_ __| || || (_) ||_ \
/ \ __/ | | | |__ _\__, | |_| | | |_| |__ _|__|__ _\__, |__) |
/_/\_\___|_| |_| |_|(_)/_(_)___/___\___/ |_| |_| /_/____/
|_____|
(XEN) Xen version 4.9.0_04-493 (abuild@xxxxxxx) (gcc (SUSE Linux) 4.8.5) debug=y Wed May 10
21:26:38 UTC 2017
(XEN) Latest ChangeSet:
(XEN) Console output is synchronous.
(XEN) Bootloader: EFI
(XEN) Command line: dom0_mem=4096M,max:4096M dom0_max_vcpus=4 vga=gfx-1920x1080x16 com1=11520
0,8n1,pci console=com1,vga console_timestamps console_to_ring conring_size=64 sched=credit2 s
ched_debug reboot=acpi log_buf_len=16M iommu=verbose apic_verbosity=verbose loglvl=all guest_
loglvl=all noreboot=false sync_console=true
(XEN) Xen image load base address: 0x8c200000
(XEN) Video information:
(XEN) VGA is graphics mode 800x600, 32 bpp
(XEN) Disc information:
(XEN) Found 0 MBR signatures
(XEN) Found 6 EDD information structures
(XEN) EFI RAM map:
(XEN) 0000000000000000 - 0000000000008000 (reserved)
(XEN) 0000000000008000 - 0000000000048000 (usable)
...

Searching the *console* output for 'hpet',

grep -i hpet tmp.txt
(XEN) ACPI: HPET 9E8298F8, 0038 (r1 SUPERM SMCI--MB 1072009 AMI. 5)
(XEN) ACPI: HPET id: 0x8086a701 base: 0xfed00000
(XEN) [VT-D] MSI HPET: 0000:f0:0f.0
(XEN) Platform timer is 14.318MHz HPET
=xvc console=tty0 console=hvc0 elevator=deadline cpuidle cpufreq=xen:ondemand hpet=force,verb
ose clocksource=hpet net.ifnames=1 biosdevname=1 pcie_aspm=off m
[ 0.000000] ACPI: HPET 0x000000009E8298F8 000038 (v01 SUPERM SMCI--MB 01072009 AMI. 000000
[ 0.000000] ACPI: HPET id: 0x8086a701 base: 0xfed00000
xencons=xvc console=tty0 console=hvc0 elevator=deadline cpuidle cpufreq=xen:ondemand hpet=for
ce,verbose clocksource=hpet net.ifnames=1 biosdevname=1 pcie_asp
=xvc console=tty0 console=hvc0 elevator=deadline cpuidle cpufreq=xen:ondemand hpet=force,verb
ose clocksource=hpet net.ifnames=1 biosdevname=1 pcie_aspm=off m
[ 0.000000] ACPI: HPET 0x000000009E8298F8 000038 (v01 SUPERM SMCI--MB 01072009 AMI. 000000
[ 0.000000] ACPI: HPET id: 0x8086a701 base: 0xfed00000
xencons=xvc console=tty0 console=hvc0 elevator=deadline cpuidle cpufreq=xen:ondemand hpet=for
ce,verbose clocksource=hpet net.ifnames=1 biosdevname=1 pcie_asp
[ 8.489692] hpet_acpi_add: no address or irqs in _CRS
[ 8.489692] hpet_acpi_add: no address or irqs in _CRS
(XEN) [2017-05-13 21:40:15] HVM1 save: HPET

and, still

cat /sys/devices/system/clocksource/clocksource0/available_clocksource
tsc xen
cat /sys/devices/system/clocksource/clocksource0/current_clocksource
tsc


Does this perhaps imply that Xen correctly uses HPET

(XEN) [VT-D] MSI HPET: 0000:f0:0f.0
(XEN) Platform timer is 14.318MHz HPET

, noting:

"If h/w supports per-channel MSI delivery mode (intr via FSB)," it's the best broadcast mechanism known so far"

but that Dom0 does not

current_clocksource
tsc

?