Re: [PATCH 2/4] Expand the steal time msr to also contain the consigned time.

Michael Wolf
2013-02-07T14:25:57Z

On 02/06/2013 03:14 PM, Rik van Riel wrote:
> On 02/05/2013 04:49 PM, Michael Wolf wrote:
>> Expand the steal time msr to also contain the consigned time.
>>
>> Signed-off-by: Michael Wolf <mjw@linux.vnet.ibm.com>
>> ---
>> arch/x86/include/asm/paravirt.h | 4 ++--
>> arch/x86/include/asm/paravirt_types.h | 2 +-
>> arch/x86/kernel/kvm.c | 7 ++-----
>> kernel/sched/core.c | 10 +++++++++-
>> kernel/sched/cputime.c | 2 +-
>> 5 files changed, 15 insertions(+), 10 deletions(-)
>>
>> diff --git a/arch/x86/include/asm/paravirt.h
>> b/arch/x86/include/asm/paravirt.h
>> index 5edd174..9b753ea 100644
>> --- a/arch/x86/include/asm/paravirt.h
>> +++ b/arch/x86/include/asm/paravirt.h
>> @@ -196,9 +196,9 @@ struct static_key;
>> extern struct static_key paravirt_steal_enabled;
>> extern struct static_key paravirt_steal_rq_enabled;
>>
>> -static inline u64 paravirt_steal_clock(int cpu)
>> +static inline void paravirt_steal_clock(int cpu, u64 *steal)
>> {
>> - return PVOP_CALL1(u64, pv_time_ops.steal_clock, cpu);
>> + PVOP_VCALL2(pv_time_ops.steal_clock, cpu, steal);
>> }
>
> This may be a stupid question, but what happens if a KVM
> guest with this change, runs on a kernel that still has
> the old steal time interface?
>
> What happens if the host has the new steal time interface,
> but the guest uses the old interface?
>
> Will both cases continue to work as expected with your
> patch series?
>
> If so, could you document (in the source code) why things
> continue to work?
>
I will test the scenarios you suggest and will report back the results.