lkml.org 
[lkml]   [2020]   [Mar]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 2/5] x86/vmware: Remove vmware_sched_clock_setup()
    Date
    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 <amakhalov@vmware.com>
    Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>
    ---
    arch/x86/kernel/cpu/vmware.c | 15 ++++++++++-----
    1 file changed, 10 insertions(+), 5 deletions(-)

    diff --git a/arch/x86/kernel/cpu/vmware.c b/arch/x86/kernel/cpu/vmware.c
    index d280560fd75e..efb22fa76ba4 100644
    --- a/arch/x86/kernel/cpu/vmware.c
    +++ b/arch/x86/kernel/cpu/vmware.c
    @@ -122,7 +122,7 @@ static unsigned long long notrace vmware_sched_clock(void)
    return ns;
    }

    -static void __init vmware_sched_clock_setup(void)
    +static void __init vmware_cyc2ns_setup(void)
    {
    struct cyc2ns_data *d = &vmware_cyc2ns;
    unsigned long long tsc_now = rdtsc();
    @@ -132,8 +132,7 @@ static void __init vmware_sched_clock_setup(void)
    d->cyc2ns_offset = mul_u64_u32_shr(tsc_now, d->cyc2ns_mul,
    d->cyc2ns_shift);

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

    static void __init vmware_paravirt_ops_setup(void)
    @@ -141,8 +140,14 @@ static void __init vmware_paravirt_ops_setup(void)
    pv_info.name = "VMware hypervisor";
    pv_ops.cpu.io_delay = paravirt_nop;

    - if (vmware_tsc_khz && vmw_sched_clock)
    - vmware_sched_clock_setup();
    + if (vmware_tsc_khz == 0)
    + return;
    +
    + vmware_cyc2ns_setup();
    +
    + if (vmw_sched_clock)
    + pv_ops.time.sched_clock = vmware_sched_clock;
    +
    }
    #else
    #define vmware_paravirt_ops_setup() do {} while (0)
    --
    2.14.2
    \
     
     \ /
      Last update: 2020-03-20 21:51    [W:4.099 / U:0.268 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site