Skip to content

Commit dd735f4

Browse files
Alexey Makhalovsuryasaimadhu
authored andcommitted
x86/vmware: Remove vmware_sched_clock_setup()
Move cyc2ns setup logic to separate function. This separation will allow to use cyc2ns mult/shift pair not only for the sched_clock but also for other clocks such as steal_clock. Signed-off-by: Alexey Makhalov <[email protected]> Signed-off-by: Borislav Petkov <[email protected]> Reviewed-by: Thomas Hellstrom <[email protected]> Reviewed-by: Thomas Gleixner <[email protected]> Link: https://lkml.kernel.org/r/[email protected]
1 parent 14388ae commit dd735f4

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

arch/x86/kernel/cpu/vmware.c

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ static unsigned long long notrace vmware_sched_clock(void)
122122
return ns;
123123
}
124124

125-
static void __init vmware_sched_clock_setup(void)
125+
static void __init vmware_cyc2ns_setup(void)
126126
{
127127
struct cyc2ns_data *d = &vmware_cyc2ns;
128128
unsigned long long tsc_now = rdtsc();
@@ -132,17 +132,22 @@ static void __init vmware_sched_clock_setup(void)
132132
d->cyc2ns_offset = mul_u64_u32_shr(tsc_now, d->cyc2ns_mul,
133133
d->cyc2ns_shift);
134134

135-
pv_ops.time.sched_clock = vmware_sched_clock;
136-
pr_info("using sched offset of %llu ns\n", d->cyc2ns_offset);
135+
pr_info("using clock offset of %llu ns\n", d->cyc2ns_offset);
137136
}
138137

139138
static void __init vmware_paravirt_ops_setup(void)
140139
{
141140
pv_info.name = "VMware hypervisor";
142141
pv_ops.cpu.io_delay = paravirt_nop;
143142

144-
if (vmware_tsc_khz && vmw_sched_clock)
145-
vmware_sched_clock_setup();
143+
if (vmware_tsc_khz == 0)
144+
return;
145+
146+
vmware_cyc2ns_setup();
147+
148+
if (vmw_sched_clock)
149+
pv_ops.time.sched_clock = vmware_sched_clock;
150+
146151
}
147152
#else
148153
#define vmware_paravirt_ops_setup() do {} while (0)

0 commit comments

Comments
 (0)