From: Thomas Gleixner <tglx@kernel.org>
To: Teddy Astie <teddy.astie@vates.tech>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
regressions@lists.linux.dev
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
Olivier Lambert <olivier.lambert@vates.tech>
Subject: Re: [REGRESSION][BISECTED] Long boot time with Xen HVM guests during PV spinlock initialization
Date: Mon, 08 Jun 2026 23:29:55 +0200 [thread overview]
Message-ID: <87ik7s4t64.ffs@fw13> (raw)
In-Reply-To: <87ldcp3w16.ffs@fw13>
On Mon, Jun 08 2026 at 17:13, Thomas Gleixner wrote:
> On Mon, Jun 08 2026 at 12:29, Teddy Astie wrote:
>> In 6.12.5+ kernels on AMD CPUs, we observe abnormally long boot times
>> where the guest is struggling on PV spinlock initialization.
>>
>> This occurs starting with 6.12.5, and also on more recent kernels on
>> Intel platforms, but that hasn't been fully investigated at this time
>> (but I assume it's a variant of the same issue).
>>
>> This occurs since a backport of 76031d9 ("clocksource: Make negative
>> motion detection more robust").
>>
>> Some (claude-based) analysis made appears to relate that to the lack of
>> proper max_raw_delta in the jiffies clocksource which appears to make
>> the clock fail to progress meaningfully.
>>
>> Here is a raw summary of the analysis
>> > We tracked it down to a single stable backport in 6.12.5: commit
>> 1a678f6829a8 ("clocksource: Make negative motion detection more robust",
>> upstream 76031d9536a0). It introduces a max_raw_delta field on struct
>> clocksource but never initializes it for the default boot timekeeper
>> (the jiffies clocksource), so clocksource_delta() clamps every delta to
>> 0 and CLOCK_MONOTONIC freezes while that clocksource is active.
>
> Bah. jiffies clocksource is registered way _after_ timekeeping started to
> use it.
>
> The untested below should fix that.
That obviously needs to be:
--- a/kernel/time/jiffies.c
+++ b/kernel/time/jiffies.c
@@ -60,15 +60,9 @@ EXPORT_SYMBOL(get_jiffies_64);
EXPORT_SYMBOL(jiffies);
-static int __init init_jiffies_clocksource(void)
-{
- return __clocksource_register(&clocksource_jiffies);
-}
-
-core_initcall(init_jiffies_clocksource);
-
struct clocksource * __init __weak clocksource_default_clock(void)
{
+ __clocksource_register(&clocksource_jiffies);
return &clocksource_jiffies;
}
prev parent reply other threads:[~2026-06-08 21:29 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-08 10:29 [REGRESSION][BISECTED] Long boot time with Xen HVM guests during PV spinlock initialization Teddy Astie
2026-06-08 10:57 ` Juergen Gross
2026-06-08 15:13 ` Thomas Gleixner
2026-06-08 21:29 ` Thomas Gleixner [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87ik7s4t64.ffs@fw13 \
--to=tglx@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=olivier.lambert@vates.tech \
--cc=regressions@lists.linux.dev \
--cc=teddy.astie@vates.tech \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox