Re: [RFC][PATCH] KVM: Remove HIGH_RES_TIMERS dependency
From: Paolo Bonzini
Date: Thu Sep 05 2024 - 12:20:59 EST
> Commit 92b5265d38f6a ("KVM: Depend on HIGH_RES_TIMERS") added a dependency
> to high resolution timers with the comment:
>
> KVM lapic timer and tsc deadline timer based on hrtimer,
> setting a leftmost node to rb tree and then do hrtimer reprogram.
> If hrtimer not configured as high resolution, hrtimer_enqueue_reprogram
> do nothing and then make kvm lapic timer and tsc deadline timer fail.
>
> That was back in 2012, where hrtimer_start_range_ns() would do the
> reprogramming with hrtimer_enqueue_reprogram(). But as that was a nop with
> high resolution timers disabled, this did not work. But a lot has changed
> in the last 12 years.
>
> For example, commit 49a2a07514a3a ("hrtimer: Kick lowres dynticks targets on
> timer enqueue") modifies __hrtimer_start_range_ns() to work with low res
> timers. There's been lots of other changes that make low res work.
>
> I added this change to my main server that runs all my VMs (my mail
> server, my web server, my ssh server) and disabled HIGH_RES_TIMERS and the
> system has been running just fine for over a month.
>
> ChromeOS has tested this before as well, and it hasn't seen any issues with
> running KVM with high res timers disabled.
>
> Signed-off-by: Steven Rostedt (Google) <rostedt@xxxxxxxxxxx>
Queued, thanks.
Paolo