From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f198.google.com (mail-pf1-f198.google.com [209.85.210.198]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 560F549EF3D for ; Thu, 6 Aug 2026 23:36:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.198 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786059412; cv=none; b=R5qmr2tuLHREB1AwOC7thOZ6IU+lVyeHtYcsS1YCY1ZvraSdXcRPNJI3xqGhcIf/5UlQKxaFSNc94T8SahUwp4sDmKniiZUKbHfivDjNHOvffje65U6zaT9a6mWjKCVAS2S+Yw8I6QAdAAWUzdvx3jGc7IK0AyUI2qhcBOf4S+s= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786059412; c=relaxed/simple; bh=hNEb8xDuzhPNI6tvifSOafJznm7WdTSs3VtHjZgwixU=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=ry3eh55viecaYP92+BqWyNiRUjA/A83Rih2ICLj9672k5jaqS7UQ08zIz2ckMyRzPaB+qnHI77xfvEIVC1uN/SezbHkp22vpTqKTmeHXszJ9V8BeAdQeL+PMThNEOsDXOL5Jyy8hAGnIOgNnYGk0CmgnTdGU3xQS38oRXncJgcY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--seanjc.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=f+3SeEuU; arc=none smtp.client-ip=209.85.210.198 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--seanjc.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="f+3SeEuU" Received: by mail-pf1-f198.google.com with SMTP id d2e1a72fcca58-84865f326efso3250050b3a.0 for ; Thu, 06 Aug 2026 16:36:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1786059408; x=1786664208; darn=vger.kernel.org; h=content-type:cc:to:from:subject:message-id:references:mime-version :in-reply-to:date:reply-to:from:to:cc:subject:date:message-id :reply-to:content-type; bh=kOFXKheX158XT5RdBZeZqj6PvfchU0LO18FYNMDj3A4=; b=f+3SeEuUGZdqvkJjB9P3mmwyxZKY+8jTQ75eC5gRfXo5VFDqyWPUUbActIjpbMK7lu eAIYwqBShq2vBgslCjqWJm5zK7Vm+oYipUj+jrx1noqLVD2Edre+FmHUadEg3vwPK0M7 ubbB+mhlOfLb2FX/RvPE7Ivcyhlo+b2ZMoJYjZFb/OrbcDhOPJH2gUGRNHvIiL1kuJyz xbf3xE4Uwvq4yW1J8leN2Fkmuv3QyB8tbIX3owrNpuyc/pFDYFwQQscX5Z2ORP0YQbZg ZgqEyI/fLeH9E7b5up4xftpUn8pxWBgAjK58vMyPudlHA1FaRwoBMnKfnuvj61nTUvcX TgIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786059408; x=1786664208; h=content-type:cc:to:from:subject:message-id:references:mime-version :in-reply-to:date:reply-to:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to:content-type; bh=kOFXKheX158XT5RdBZeZqj6PvfchU0LO18FYNMDj3A4=; b=qrM4HgevhDWc6oqs2Xxk0PHp3ubMBro0CgYCoVgSJilz33q3ywYCFoRGqHYaeqaPC2 Xgq6gdUu3O2dwuYqaJu/LhuZPndMQ4HmwE42zZAPIvCU8PwbNb5Q20gmpKKR2VKN107w aOLhxw2myk4CDDZFP2zXEr6SMc/r9BT1kJ2I6ym5dmFuwDgGeGqh7faruGYm7M8QSgTH qRbU+8hyxY0CGXekJUNBEkpDEY2dsmWmN5Ga6z4oB+2c0MNnzdn9nCXBIJ3vjZNsP1KP R1q4+Fe3Un294kAyQa2ZThFL8RR5m6Y09NBJh+EuqFv1GAvgsYGUmv/hZL+sjcD8qgQH QP6Q== X-Forwarded-Encrypted: i=1; AHgh+RosY4zUuVw471SR8dggBQUPSFhQkhDsJ2QG9QAXLwVxIBs3Npm6yXmOV+abUn31Bruj+VO1g6aTbeABcwU=@vger.kernel.org X-Gm-Message-State: AOJu0YxYnvrhgdRNxYKWn8mpzBLnphn9DHb+LcSVZImZy8gHdJev8Om8 8hOs6OlStw3mvSJ+kToxlge8cZPhEfsEqlPBRq90qq8TwGVqJ23G30mIuZFVPtaUFHrJCdEK7dc BT4yCeg== X-Received: from pgay6.prod.google.com ([2002:a05:6a02:4966:b0:cbb:8616:5536]) (user=seanjc job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6a00:3d4f:b0:847:9188:e492 with SMTP id d2e1a72fcca58-84f2e04d173mr18898130b3a.22.1786059408172; Thu, 06 Aug 2026 16:36:48 -0700 (PDT) Reply-To: Sean Christopherson Date: Thu, 6 Aug 2026 16:35:36 -0700 In-Reply-To: <20260806233609.212337-1-seanjc@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260806233609.212337-1-seanjc@google.com> X-Mailer: git-send-email 2.55.0.679.g6767b8d81c-goog Message-ID: <20260806233609.212337-20-seanjc@google.com> Subject: [PATCH v6 19/51] x86/kvmclock: Drop dead check on TSC being unstable during kvmclock_init() From: Sean Christopherson To: Kiryl Shutsemau , Rick Edgecombe , Sean Christopherson , Paolo Bonzini , "K. Y. Srinivasan" , Haiyang Zhang , Wei Liu , Dexuan Cui , Long Li , Ajay Kaher , Alexey Makhalov , Jan Kiszka , Dave Hansen , Andy Lutomirski , Peter Zijlstra , Juergen Gross , Daniel Lezcano , Thomas Gleixner , John Stultz Cc: Vitaly Kuznetsov , Broadcom internal kernel review list , Boris Ostrovsky , Stephen Boyd , Miroslav Lichvar , x86@kernel.org, linux-coco@lists.linux.dev, kvm@vger.kernel.org, linux-hyperv@vger.kernel.org, virtualization@lists.linux.dev, linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, Michael Kelley , Tom Lendacky , Nikunj A Dadhania , David Woodhouse , David Woodhouse , Thomas Gleixner Content-Type: text/plain; charset="UTF-8" As pointed out by Sashiko[*], kvmclock_init() runs before __setup() and thus before notsc_setup() or tsc_setup() can mark the TSC unstable. kvmclock_init() also runs well before tsc_init(), and even before tsc_early_init(). Simply delete the check, as it's been dead code since it was introduced. Note, odds are good the check_tsc_unstable() call was copied from Xen's xen_time_init()+xen_tsc_safe_clocksource() logic (as so much of KVM's PV code was). However, xen_time_init() runs via x86_init.timers.timer_init(), which is invoke from x86_late_time_init(), and thus after params have been parsed. Alternatively, kvmclock could register itself later on, or tsc_setup() could be parsed as an early param. Given that there's zero evidence there was any meaningful intent or need to actually check for an unstable TSC, go with the simplest option. Fixes: 7539b174aef4 ("x86: kvmguest: use TSC clocksource if invariant TSC is exposed") Link: https://lore.kernel.org/all/20260529181213.0B27A1F00893@smtp.kernel.org [*] Signed-off-by: Sean Christopherson --- arch/x86/kernel/kvmclock.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/arch/x86/kernel/kvmclock.c b/arch/x86/kernel/kvmclock.c index 061a22d31dea..29ca37e9a3bc 100644 --- a/arch/x86/kernel/kvmclock.c +++ b/arch/x86/kernel/kvmclock.c @@ -362,8 +362,7 @@ void __init kvmclock_init(void) * */ if (boot_cpu_has(X86_FEATURE_CONSTANT_TSC) && - boot_cpu_has(X86_FEATURE_NONSTOP_TSC) && - !check_tsc_unstable()) + boot_cpu_has(X86_FEATURE_NONSTOP_TSC)) kvm_clock.rating = 299; clocksource_register_hz(&kvm_clock, NSEC_PER_SEC); -- 2.55.0.679.g6767b8d81c-goog