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

From: Konrad Rzeszutek Wilk
Date: Tue Nov 27 2012 - 16:03:28 EST


On Mon, Nov 26, 2012 at 02:36:45PM -0600, Michael Wolf wrote:
> Add a consigned field. This field will hold the time lost due to capping or overcommit.
> The rest of the time will still show up in the steal-time field.
>
> Signed-off-by: Michael Wolf <mjw@xxxxxxxxxxxxxxxxxx>
> ---
> 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 a0facf3..a5f9f30 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 u64 paravirt_steal_clock(int cpu, u64 *steal)

So its u64 here.
> {
> - return PVOP_CALL1(u64, pv_time_ops.steal_clock, cpu);
> + PVOP_VCALL2(pv_time_ops.steal_clock, cpu, steal);
> }
>
> static inline unsigned long long paravirt_read_pmc(int counter)
> diff --git a/arch/x86/include/asm/paravirt_types.h b/arch/x86/include/asm/paravirt_types.h
> index 142236e..5d4fc8b 100644
> --- a/arch/x86/include/asm/paravirt_types.h
> +++ b/arch/x86/include/asm/paravirt_types.h
> @@ -95,7 +95,7 @@ struct pv_lazy_ops {
>
> struct pv_time_ops {
> unsigned long long (*sched_clock)(void);
> - unsigned long long (*steal_clock)(int cpu);
> + void (*steal_clock)(int cpu, unsigned long long *steal);

But not u64 here? Any particular reason?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/