Slow boot on rocky linux 10 latest kernel
-
@olivierlambert Awesome work on tracking down the issue!
Very nice, detailed, technical writeup. -
Ping @Team-Hypervisor-Kernel for reference.
-
@majorp93 @henri9813 @acebmxer
Do you observe the same behavior after setting this for the VM ?xe vm-param-add uuid=$UUID param-name=platform tsc_mode=2 xe vm-param-add uuid=$UUID param-name=platform nomigrate=true(beware you lose live migration support doing this, you can cancel these changes with matching vm-param-remove like
xe vm-param-remove uuid=$UUID param-name=platform param-key=nomigrate) -
param-name=platform nomigrate=true
Hi @teddyastie , thanks for working on this.
As per policy I am not allowed to test these parameters in production which is why I had to create a small test setup for being able to try your settings.
I deployed a Debian 13 VM via Cloud-Init on a XCP-ng test host using the official Debian 13 cloud image.
After deploying the VM I had the issue of slow boot.
After shutting the VM down, applying the settings that you just sent and starting it again I can say that you are on the right track!
In my case the boot time is completely normal now and on par with Debian 13 VMs that use BIOS instead of UEFI (for booting).
As this is a workaround and disables live migration this is not an option for production environments but good to have a workaround available anyways for sure!
Do you think it is possible to fix this on hypervisor level while still having live migration etc. enabled or do we have to wait for an upstream fix within Linux kernel tree?
-
@MajorP93 said:
Do you think it is possible to fix this on hypervisor level while still having live migration etc. enabled or do we have to wait for an upstream fix within Linux kernel tree?Yes it's possible to fix it on the hypervisor level (Invariant TSC in guest), but it's quite a bit of work that still needs to be done. A Linux upstream fix for the underlying bug should come at some point hopefully.
-
2 paths we are doing in parallel:
- We are doing our best to make it upstream in Linux, it's a regression after all. We know how to fix it, so hopefully this will be fixed quickly. Then, we'll have to wait for a Linux kernel update in main distros.
- Invariant TSC in Xen is also a way to fix it, because we want to improve that anyway. But as Teddy said, it's more work and it will take more time.
-
Regarding upstream Linux, it should be addressed with https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=f24df84cbe05e4471c04ac4b921fc0340bbc7752
Although, I have no ETA on when it will land to distros.
-
Hello,
Thanks for all !
-
D dvinni referenced this topic
-
Possibly related observation from an Intel pool (Xeon Gold, XCP-ng 8.3): Ubuntu 26.04 cloud image (kernel 7.0, UEFI) shows a similar-looking freeze at "installing Xen timer for CPU N". In my case
console=ttyS0from the cloud image's default cmdline amplified it ~7x — removing it dropped the sched_clock correction from 143s to 16s on 8 vCPUs, and unlike tsc_mode=2 it keeps live migration. Not sure it's the same root cause, but might be worth checking cmdline for those hitting this with cloud images. -
P poddingue marked this topic as a question
-
Coming back to this with what the distros actually ship, because "the fix is upstream" turned out not to mean much on its own.

The commit is
f24df84cbe05. I checked each distro by greppingkernel/time/jiffies.cat the version they ship, rather than comparing version numbers, since some of them cherry-pick.Already fixed, nothing to do:
- Fedora 44:
7.1.8 - Alpine 3.22: linux-virt
6.12.103. Alpine 3.23 and edge:6.18.44
Not fixed in what you get today:
- Debian 13: trixie ships
6.12.94, which doesn't have it.6.12.100and6.12.101do, and they're in trixie-proposed-updates, so it should land with the next point release. - Ubuntu 26.04: -updates moved to
7.0.0-30this morning and that doesn't have it either.7.0.0-31does, sitting in resolute-proposed, expected early September.
Rocky 10 I couldn't settle. I don't see it in the CentOS Stream 10 kernel changelog, which does list per-commit subjects, and Stream is at
6.12.0-260while @henri9813 is on the 10.2 branch at -211. So probably not yet. But I might just be failing to find it, so if someone can check properly I'd rather be corrected.@acebmxer @MajorP93 on Debian, and anyone on Ubuntu: keep
tsc_mode=2and nomigrate for now. One thing that won't help you there, theconsole=ttyS0removal from the other thread is an Ubuntu cloud image thing. Debian's cloud image recipe only sets a serial console for Azure, EC2 arm64 and ppc64el, so I don't think the generic amd64 image carries it. Worth a look at /proc/cmdline on yours though.I did check that the fix works rather than assuming it: same VM, Ubuntu
7.0.0-30against7.0.0-31, and the sched_clock correction went from about -59s to -0.4s on 6 vCPUs. - Fedora 44:
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login