From: Peter Hilber <peter.hilber@opensynergy.com>
To: linux-kernel@vger.kernel.org
Cc: Peter Hilber <peter.hilber@opensynergy.com>,
"D, Lakshmi Sowjanya" <lakshmi.sowjanya.d@intel.com>,
Thomas Gleixner <tglx@linutronix.de>,
jstultz@google.com, giometti@enneenne.com, corbet@lwn.net, "Dong,
Eddie" <eddie.dong@intel.com>,
"Hall, Christopher S" <christopher.s.hall@intel.com>,
Simon Horman <horms@kernel.org>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Marc Zyngier <maz@kernel.org>,
linux-arm-kernel@lists.infradead.org,
Sean Christopherson <seanjc@google.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
Wanpeng Li <wanpengli@tencent.com>,
Vitaly Kuznetsov <vkuznets@redhat.com>,
Mark Rutland <mark.rutland@arm.com>,
Daniel Lezcano <daniel.lezcano@linaro.org>,
Richard Cochran <richardcochran@gmail.com>,
kvm@vger.kernel.org, netdev@vger.kernel.org
Subject: [PATCH v3 4/8] x86/kvm, ptp/kvm: Add clocksource ID, set system_counterval_t.cs_id
Date: Thu, 1 Feb 2024 02:04:49 +0100 [thread overview]
Message-ID: <20240201010453.2212371-5-peter.hilber@opensynergy.com> (raw)
In-Reply-To: <20240201010453.2212371-1-peter.hilber@opensynergy.com>
Add a clocksource ID for the x86 kvmclock.
Also, for ptp_kvm, set the recently added struct system_counterval_t member
cs_id to the clocksource ID (x86 kvmclock or Arm Generic Timer). In the
future, get_device_system_crosststamp() will compare the clocksource ID in
struct system_counterval_t, rather than the clocksource.
For now, to avoid touching too many subsystems at once, extract the
clocksource ID from the clocksource. The clocksource dereference will be
removed in the following.
Signed-off-by: Peter Hilber <peter.hilber@opensynergy.com>
---
Notes:
v3:
- Omit redundant clocksource_ids.h include (Andy Shevchenko).
v2:
- Name clock id according to Thomas Gleixner's mockup.
arch/x86/kernel/kvmclock.c | 1 +
drivers/ptp/ptp_kvm_common.c | 2 ++
include/linux/clocksource_ids.h | 1 +
3 files changed, 4 insertions(+)
diff --git a/arch/x86/kernel/kvmclock.c b/arch/x86/kernel/kvmclock.c
index 5bb395551c44..2f1bbf730f45 100644
--- a/arch/x86/kernel/kvmclock.c
+++ b/arch/x86/kernel/kvmclock.c
@@ -160,6 +160,7 @@ struct clocksource kvm_clock = {
.rating = 400,
.mask = CLOCKSOURCE_MASK(64),
.flags = CLOCK_SOURCE_IS_CONTINUOUS,
+ .id = CSID_X86_KVM_CLK,
.enable = kvm_cs_enable,
};
EXPORT_SYMBOL_GPL(kvm_clock);
diff --git a/drivers/ptp/ptp_kvm_common.c b/drivers/ptp/ptp_kvm_common.c
index 2418977989be..b0b36f135347 100644
--- a/drivers/ptp/ptp_kvm_common.c
+++ b/drivers/ptp/ptp_kvm_common.c
@@ -4,6 +4,7 @@
*
* Copyright (C) 2017 Red Hat Inc.
*/
+#include <linux/clocksource.h>
#include <linux/device.h>
#include <linux/err.h>
#include <linux/init.h>
@@ -47,6 +48,7 @@ static int ptp_kvm_get_time_fn(ktime_t *device_time,
system_counter->cycles = cycle;
system_counter->cs = cs;
+ system_counter->cs_id = cs->id;
*device_time = timespec64_to_ktime(tspec);
diff --git a/include/linux/clocksource_ids.h b/include/linux/clocksource_ids.h
index f8467946e9ee..a4fa3436940c 100644
--- a/include/linux/clocksource_ids.h
+++ b/include/linux/clocksource_ids.h
@@ -8,6 +8,7 @@ enum clocksource_ids {
CSID_ARM_ARCH_COUNTER,
CSID_X86_TSC_EARLY,
CSID_X86_TSC,
+ CSID_X86_KVM_CLK,
CSID_MAX,
};
--
2.40.1
next prev parent reply other threads:[~2024-02-01 1:06 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-01 1:04 [PATCH v3 0/8] treewide: Use clocksource ID for get_device_system_crosststamp() Peter Hilber
2024-02-01 1:04 ` [PATCH v3 1/8] x86/tsc: Fix major kernel-doc warnings for tsc.c Peter Hilber
2024-02-01 4:52 ` Randy Dunlap
2024-02-06 10:54 ` Peter Hilber
2024-02-06 20:34 ` Randy Dunlap
2024-02-01 1:04 ` [PATCH v3 2/8] timekeeping: Add clocksource ID to struct system_counterval_t Peter Hilber
2024-02-11 8:41 ` [tip: timers/ptp] " tip-bot2 for Peter Hilber
2024-02-01 1:04 ` [PATCH v3 3/8] x86/tsc: Add clocksource ID, set system_counterval_t.cs_id Peter Hilber
2024-02-11 8:41 ` [tip: timers/ptp] " tip-bot2 for Peter Hilber
2024-02-01 1:04 ` Peter Hilber [this message]
2024-02-11 8:41 ` [tip: timers/ptp] x86/kvm, ptp/kvm: " tip-bot2 for Peter Hilber
2024-02-01 1:04 ` [PATCH v3 5/8] ptp/kvm, arm_arch_timer: Set system_counterval_t.cs_id to constant Peter Hilber
2024-02-01 13:52 ` Marc Zyngier
2024-02-01 14:04 ` Peter Hilber
2024-02-11 8:41 ` [tip: timers/ptp] " tip-bot2 for Peter Hilber
2024-02-01 1:04 ` [PATCH v3 6/8] timekeeping: Evaluate system_counterval_t.cs_id instead of .cs Peter Hilber
2024-02-11 8:41 ` [tip: timers/ptp] " tip-bot2 for Peter Hilber
2024-02-01 1:04 ` [PATCH v3 7/8] treewide: Remove system_counterval_t.cs, which is never read Peter Hilber
2024-02-11 8:41 ` [tip: timers/ptp] " tip-bot2 for Peter Hilber
2024-02-01 1:04 ` [PATCH v3 8/8] kvmclock: Unexport kvmclock clocksource Peter Hilber
2024-02-11 8:41 ` [tip: timers/ptp] " tip-bot2 for Peter Hilber
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=20240201010453.2212371-5-peter.hilber@opensynergy.com \
--to=peter.hilber@opensynergy.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=bp@alien8.de \
--cc=christopher.s.hall@intel.com \
--cc=corbet@lwn.net \
--cc=daniel.lezcano@linaro.org \
--cc=dave.hansen@linux.intel.com \
--cc=eddie.dong@intel.com \
--cc=giometti@enneenne.com \
--cc=horms@kernel.org \
--cc=hpa@zytor.com \
--cc=jstultz@google.com \
--cc=kvm@vger.kernel.org \
--cc=lakshmi.sowjanya.d@intel.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=maz@kernel.org \
--cc=mingo@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=richardcochran@gmail.com \
--cc=seanjc@google.com \
--cc=tglx@linutronix.de \
--cc=vkuznets@redhat.com \
--cc=wanpengli@tencent.com \
--cc=x86@kernel.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
all inboxes | Powered by JetHome®