* Steal time in KVM
@ 2012-10-08 7:55 Abhishek Gupta
2012-10-08 19:39 ` Marcelo Tosatti
0 siblings, 1 reply; 6+ messages in thread
From: Abhishek Gupta @ 2012-10-08 7:55 UTC (permalink / raw)
To: glommer; +Cc: kvm
Hi,
I am trying to get the steal time with 2 VMs (each with 1 Vcpu) pinned
to same core.
While finding documentation on this, I came across your patches and
posts related to the implementation of this feature, so I thought it
would be best to ask you.
I run the same application on these 2 VMs simultaneously and see the
performance difference. I am trying to read the steal time from inside
the guest using top, vmstat etc.
Both, top and vmstat -s report the steal time (st) as 0. I also
checked that procps is in latest version. I am using virtio-net. I
suspect that the steal time is not being updated well. Is there
something which I need to configure for this to work? My Linux version
for guest image is:
Linux server-147 2.6.35-24-virtual #42-Ubuntu SMP Thu Dec 2 05:15:26
UTC 2010 x86_64 GNU/Linux
And /proc/cpuinfo shows i:
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 2
model name : QEMU Virtual CPU version 0.14.0
stepping : 3
cpu MHz : 2992.498
cache size : 4096 KB
fpu : yes
fpu_exception : yes
cpuid level : 4
wp : yes
flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
pse36 clflush mmx fxsr sse sse2 syscall nx lm up rep_good pni cx16
hypervisor lahf_lm
bogomips : 5984.99
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:
Another question I had was that is there a way to programmatically get
the value of steal cycles (e.g. from a C program) ?
Thanks,
Abhishek
On Monday, June 13, 2011 6:40:02 PM UTC-5, Glauber Costa wrote:
> Hi,
>
> This series is a repost of the last series I posted about this.
> It tries to address most concerns that were raised at the time,
> plus makes uses of the static_branch interface to disable the
> steal code when not in use.
>
>
> Glauber Costa (7):
> KVM-HDR Add constant to represent KVM MSRs enabled bit
> KVM-HDR: KVM Steal time implementation
> KVM-HV: KVM Steal time implementation
> KVM-GST: Add a pv_ops stub for steal time
> KVM-GST: KVM Steal time accounting
> KVM-GST: adjust scheduler cpu power
> KVM-GST: KVM Steal time registration
>
> Documentation/kernel-parameters.txt | 4 ++
> Documentation/virtual/kvm/msr.txt | 33 +++++++++++++
> arch/x86/Kconfig | 12 +++++
> arch/x86/include/asm/kvm_host.h | 8 +++
> arch/x86/include/asm/kvm_para.h | 15 ++++++
> arch/x86/include/asm/paravirt.h | 9 ++++
> arch/x86/include/asm/paravirt_types.h | 1 +
> arch/x86/kernel/kvm.c | 72 +++++++++++++++++++++++++++++
> arch/x86/kernel/kvmclock.c | 2 +
> arch/x86/kernel/paravirt.c | 9 ++++
> arch/x86/kvm/x86.c | 60 +++++++++++++++++++++++-
> kernel/sched.c | 81 +++++++++++++++++++++++++++++----
> kernel/sched_features.h | 4 +-
> 13 files changed, 296 insertions(+), 14 deletions(-)
>
> --
> 1.7.3.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
On Monday, June 13, 2011 6:40:02 PM UTC-5, Glauber Costa wrote:
> Hi,
>
> This series is a repost of the last series I posted about this.
> It tries to address most concerns that were raised at the time,
> plus makes uses of the static_branch interface to disable the
> steal code when not in use.
>
>
> Glauber Costa (7):
> KVM-HDR Add constant to represent KVM MSRs enabled bit
> KVM-HDR: KVM Steal time implementation
> KVM-HV: KVM Steal time implementation
> KVM-GST: Add a pv_ops stub for steal time
> KVM-GST: KVM Steal time accounting
> KVM-GST: adjust scheduler cpu power
> KVM-GST: KVM Steal time registration
>
> Documentation/kernel-parameters.txt | 4 ++
> Documentation/virtual/kvm/msr.txt | 33 +++++++++++++
> arch/x86/Kconfig | 12 +++++
> arch/x86/include/asm/kvm_host.h | 8 +++
> arch/x86/include/asm/kvm_para.h | 15 ++++++
> arch/x86/include/asm/paravirt.h | 9 ++++
> arch/x86/include/asm/paravirt_types.h | 1 +
> arch/x86/kernel/kvm.c | 72 +++++++++++++++++++++++++++++
> arch/x86/kernel/kvmclock.c | 2 +
> arch/x86/kernel/paravirt.c | 9 ++++
> arch/x86/kvm/x86.c | 60 +++++++++++++++++++++++-
> kernel/sched.c | 81 +++++++++++++++++++++++++++++----
> kernel/sched_features.h | 4 +-
> 13 files changed, 296 insertions(+), 14 deletions(-)
>
> --
> 1.7.3.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Steal time in KVM
2012-10-08 7:55 Steal time in KVM Abhishek Gupta
@ 2012-10-08 19:39 ` Marcelo Tosatti
2012-10-08 19:42 ` Abhishek Gupta
0 siblings, 1 reply; 6+ messages in thread
From: Marcelo Tosatti @ 2012-10-08 19:39 UTC (permalink / raw)
To: Abhishek Gupta; +Cc: glommer, kvm
On Mon, Oct 08, 2012 at 02:55:25AM -0500, Abhishek Gupta wrote:
> Hi,
>
> I am trying to get the steal time with 2 VMs (each with 1 Vcpu) pinned
> to same core.
>
> While finding documentation on this, I came across your patches and
> posts related to the implementation of this feature, so I thought it
> would be best to ask you.
>
> I run the same application on these 2 VMs simultaneously and see the
> performance difference. I am trying to read the steal time from inside
> the guest using top, vmstat etc.
>
> Both, top and vmstat -s report the steal time (st) as 0. I also
> checked that procps is in latest version. I am using virtio-net. I
> suspect that the steal time is not being updated well. Is there
> something which I need to configure for this to work? My Linux version
> for guest image is:
>
> Linux server-147 2.6.35-24-virtual #42-Ubuntu SMP Thu Dec 2 05:15:26
> UTC 2010 x86_64 GNU/Linux
>
> And /proc/cpuinfo shows i:
>
> processor : 0
> vendor_id : GenuineIntel
> cpu family : 6
> model : 2
> model name : QEMU Virtual CPU version 0.14.0
> stepping : 3
> cpu MHz : 2992.498
> cache size : 4096 KB
> fpu : yes
> fpu_exception : yes
> cpuid level : 4
> wp : yes
> flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
> pse36 clflush mmx fxsr sse sse2 syscall nx lm up rep_good pni cx16
> hypervisor lahf_lm
bogomips : 5984.99
> clflush size : 64
> cache_alignment : 64
> address sizes : 40 bits physical, 48 bits virtual
> power management:
>
>
> Another question I had was that is there a way to programmatically get
> the value of steal cycles (e.g. from a C program) ?
> Thanks,
>
> Abhishek
Make sure CONFIG_SCHEDSTATS is enabled in your host kernel.
> On Monday, June 13, 2011 6:40:02 PM UTC-5, Glauber Costa wrote:
> > Hi,
> >
> > This series is a repost of the last series I posted about this.
> > It tries to address most concerns that were raised at the time,
> > plus makes uses of the static_branch interface to disable the
> > steal code when not in use.
> >
> >
> > Glauber Costa (7):
> > KVM-HDR Add constant to represent KVM MSRs enabled bit
> > KVM-HDR: KVM Steal time implementation
> > KVM-HV: KVM Steal time implementation
> > KVM-GST: Add a pv_ops stub for steal time
> > KVM-GST: KVM Steal time accounting
> > KVM-GST: adjust scheduler cpu power
> > KVM-GST: KVM Steal time registration
> >
> > Documentation/kernel-parameters.txt | 4 ++
> > Documentation/virtual/kvm/msr.txt | 33 +++++++++++++
> > arch/x86/Kconfig | 12 +++++
> > arch/x86/include/asm/kvm_host.h | 8 +++
> > arch/x86/include/asm/kvm_para.h | 15 ++++++
> > arch/x86/include/asm/paravirt.h | 9 ++++
> > arch/x86/include/asm/paravirt_types.h | 1 +
> > arch/x86/kernel/kvm.c | 72 +++++++++++++++++++++++++++++
> > arch/x86/kernel/kvmclock.c | 2 +
> > arch/x86/kernel/paravirt.c | 9 ++++
> > arch/x86/kvm/x86.c | 60 +++++++++++++++++++++++-
> > kernel/sched.c | 81 +++++++++++++++++++++++++++++----
> > kernel/sched_features.h | 4 +-
> > 13 files changed, 296 insertions(+), 14 deletions(-)
> >
> > --
> > 1.7.3.4
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
> > Please read the FAQ at http://www.tux.org/lkml/
>
>
>
> On Monday, June 13, 2011 6:40:02 PM UTC-5, Glauber Costa wrote:
> > Hi,
> >
> > This series is a repost of the last series I posted about this.
> > It tries to address most concerns that were raised at the time,
> > plus makes uses of the static_branch interface to disable the
> > steal code when not in use.
> >
> >
> > Glauber Costa (7):
> > KVM-HDR Add constant to represent KVM MSRs enabled bit
> > KVM-HDR: KVM Steal time implementation
> > KVM-HV: KVM Steal time implementation
> > KVM-GST: Add a pv_ops stub for steal time
> > KVM-GST: KVM Steal time accounting
> > KVM-GST: adjust scheduler cpu power
> > KVM-GST: KVM Steal time registration
> >
> > Documentation/kernel-parameters.txt | 4 ++
> > Documentation/virtual/kvm/msr.txt | 33 +++++++++++++
> > arch/x86/Kconfig | 12 +++++
> > arch/x86/include/asm/kvm_host.h | 8 +++
> > arch/x86/include/asm/kvm_para.h | 15 ++++++
> > arch/x86/include/asm/paravirt.h | 9 ++++
> > arch/x86/include/asm/paravirt_types.h | 1 +
> > arch/x86/kernel/kvm.c | 72 +++++++++++++++++++++++++++++
> > arch/x86/kernel/kvmclock.c | 2 +
> > arch/x86/kernel/paravirt.c | 9 ++++
> > arch/x86/kvm/x86.c | 60 +++++++++++++++++++++++-
> > kernel/sched.c | 81 +++++++++++++++++++++++++++++----
> > kernel/sched_features.h | 4 +-
> > 13 files changed, 296 insertions(+), 14 deletions(-)
> >
> > --
> > 1.7.3.4
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
> > Please read the FAQ at http://www.tux.org/lkml/
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Steal time in KVM
2012-10-08 19:39 ` Marcelo Tosatti
@ 2012-10-08 19:42 ` Abhishek Gupta
2012-10-08 19:47 ` Abhishek Gupta
0 siblings, 1 reply; 6+ messages in thread
From: Abhishek Gupta @ 2012-10-08 19:42 UTC (permalink / raw)
To: Marcelo Tosatti; +Cc: glommer, kvm
Thanks for the answer. I am more of an application user. Is there a
quick way to check this flag and enable it if its disabled?
Abhishek
On Mon, Oct 8, 2012 at 2:39 PM, Marcelo Tosatti <mtosatti@redhat.com> wrote:
> On Mon, Oct 08, 2012 at 02:55:25AM -0500, Abhishek Gupta wrote:
>> Hi,
>>
>> I am trying to get the steal time with 2 VMs (each with 1 Vcpu) pinned
>> to same core.
>>
>> While finding documentation on this, I came across your patches and
>> posts related to the implementation of this feature, so I thought it
>> would be best to ask you.
>>
>> I run the same application on these 2 VMs simultaneously and see the
>> performance difference. I am trying to read the steal time from inside
>> the guest using top, vmstat etc.
>>
>> Both, top and vmstat -s report the steal time (st) as 0. I also
>> checked that procps is in latest version. I am using virtio-net. I
>> suspect that the steal time is not being updated well. Is there
>> something which I need to configure for this to work? My Linux version
>> for guest image is:
>>
>> Linux server-147 2.6.35-24-virtual #42-Ubuntu SMP Thu Dec 2 05:15:26
>> UTC 2010 x86_64 GNU/Linux
>>
>> And /proc/cpuinfo shows i:
>>
>> processor : 0
>> vendor_id : GenuineIntel
>> cpu family : 6
>> model : 2
>> model name : QEMU Virtual CPU version 0.14.0
>> stepping : 3
>> cpu MHz : 2992.498
>> cache size : 4096 KB
>> fpu : yes
>> fpu_exception : yes
>> cpuid level : 4
>> wp : yes
>> flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
>> pse36 clflush mmx fxsr sse sse2 syscall nx lm up rep_good pni cx16
>> hypervisor lahf_lm
> bogomips : 5984.99
>> clflush size : 64
>> cache_alignment : 64
>> address sizes : 40 bits physical, 48 bits virtual
>> power management:
>>
>>
>> Another question I had was that is there a way to programmatically get
>> the value of steal cycles (e.g. from a C program) ?
>> Thanks,
>>
>> Abhishek
>
> Make sure CONFIG_SCHEDSTATS is enabled in your host kernel.
>
>> On Monday, June 13, 2011 6:40:02 PM UTC-5, Glauber Costa wrote:
>> > Hi,
>> >
>> > This series is a repost of the last series I posted about this.
>> > It tries to address most concerns that were raised at the time,
>> > plus makes uses of the static_branch interface to disable the
>> > steal code when not in use.
>> >
>> >
>> > Glauber Costa (7):
>> > KVM-HDR Add constant to represent KVM MSRs enabled bit
>> > KVM-HDR: KVM Steal time implementation
>> > KVM-HV: KVM Steal time implementation
>> > KVM-GST: Add a pv_ops stub for steal time
>> > KVM-GST: KVM Steal time accounting
>> > KVM-GST: adjust scheduler cpu power
>> > KVM-GST: KVM Steal time registration
>> >
>> > Documentation/kernel-parameters.txt | 4 ++
>> > Documentation/virtual/kvm/msr.txt | 33 +++++++++++++
>> > arch/x86/Kconfig | 12 +++++
>> > arch/x86/include/asm/kvm_host.h | 8 +++
>> > arch/x86/include/asm/kvm_para.h | 15 ++++++
>> > arch/x86/include/asm/paravirt.h | 9 ++++
>> > arch/x86/include/asm/paravirt_types.h | 1 +
>> > arch/x86/kernel/kvm.c | 72 +++++++++++++++++++++++++++++
>> > arch/x86/kernel/kvmclock.c | 2 +
>> > arch/x86/kernel/paravirt.c | 9 ++++
>> > arch/x86/kvm/x86.c | 60 +++++++++++++++++++++++-
>> > kernel/sched.c | 81 +++++++++++++++++++++++++++++----
>> > kernel/sched_features.h | 4 +-
>> > 13 files changed, 296 insertions(+), 14 deletions(-)
>> >
>> > --
>> > 1.7.3.4
>> >
>> > --
>> > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>> > the body of a message to majordomo@vger.kernel.org
>> > More majordomo info at http://vger.kernel.org/majordomo-info.html
>> > Please read the FAQ at http://www.tux.org/lkml/
>>
>>
>>
>> On Monday, June 13, 2011 6:40:02 PM UTC-5, Glauber Costa wrote:
>> > Hi,
>> >
>> > This series is a repost of the last series I posted about this.
>> > It tries to address most concerns that were raised at the time,
>> > plus makes uses of the static_branch interface to disable the
>> > steal code when not in use.
>> >
>> >
>> > Glauber Costa (7):
>> > KVM-HDR Add constant to represent KVM MSRs enabled bit
>> > KVM-HDR: KVM Steal time implementation
>> > KVM-HV: KVM Steal time implementation
>> > KVM-GST: Add a pv_ops stub for steal time
>> > KVM-GST: KVM Steal time accounting
>> > KVM-GST: adjust scheduler cpu power
>> > KVM-GST: KVM Steal time registration
>> >
>> > Documentation/kernel-parameters.txt | 4 ++
>> > Documentation/virtual/kvm/msr.txt | 33 +++++++++++++
>> > arch/x86/Kconfig | 12 +++++
>> > arch/x86/include/asm/kvm_host.h | 8 +++
>> > arch/x86/include/asm/kvm_para.h | 15 ++++++
>> > arch/x86/include/asm/paravirt.h | 9 ++++
>> > arch/x86/include/asm/paravirt_types.h | 1 +
>> > arch/x86/kernel/kvm.c | 72 +++++++++++++++++++++++++++++
>> > arch/x86/kernel/kvmclock.c | 2 +
>> > arch/x86/kernel/paravirt.c | 9 ++++
>> > arch/x86/kvm/x86.c | 60 +++++++++++++++++++++++-
>> > kernel/sched.c | 81 +++++++++++++++++++++++++++++----
>> > kernel/sched_features.h | 4 +-
>> > 13 files changed, 296 insertions(+), 14 deletions(-)
>> >
>> > --
>> > 1.7.3.4
>> >
>> > --
>> > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>> > the body of a message to majordomo@vger.kernel.org
>> > More majordomo info at http://vger.kernel.org/majordomo-info.html
>> > Please read the FAQ at http://www.tux.org/lkml/
>> --
>> To unsubscribe from this list: send the line "unsubscribe kvm" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Steal time in KVM
2012-10-08 19:42 ` Abhishek Gupta
@ 2012-10-08 19:47 ` Abhishek Gupta
2012-10-08 20:02 ` Marcelo Tosatti
0 siblings, 1 reply; 6+ messages in thread
From: Abhishek Gupta @ 2012-10-08 19:47 UTC (permalink / raw)
To: Marcelo Tosatti; +Cc: kvm
I think this flag is enabled since I see that there is some information
cat /proc/schedstat
version 15
timestamp 4332448322
cpu0 12 0 65142011 32031105 32750248 22717261 2447620065997 58787405876 32964108
domain0 00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000005
3254935 3249367 2404 4821929 3229 0 96 3249269 6990 6986 0 2577 4 0 0
6986 23305437 22926698 242127 354902327 136655 0 22841 22903857 0 0 0
0 0 0 0 0 0 724375 51388 0
domain1 00000000,00000000,00000000,00000000,00000000,00000000,00000000,0000000f
3184279 3170371 13759 16042900 159 9 691 3169674 6836 6827 9 10875 0 0
2 410 23168825 22679032 475057 534512726 14817 23 66639 22612393 6 0 6
0 0 0 0 0 0 1884449 6647 0
cpu1 0 0 2140210892 1069012296 1070207005 1067616970 4593016088954
1172134807032 1071029875
domain0 00000000,00000000,00000000,00000000,00000000,00000000,00000000,0000000a
4637501 4632524 2203 6211781 2780 1 2 4632522 6282 6281 1 856 0 0 0
6281 14462483 14303529 126376 156661372 32595 0 9195 14294334 0 0 0 0
0 0 0 0 0 1234313 30153 0
domain1 00000000,00000000,00000000,00000000,00000000,00000000,00000000,0000000f
5766088 5765346 577 841712 179 2 110 5765235 8803 8803 0 0 0 0 0 1514
14429905 14181972 228676 264974439 19576 0 35872 14146100 1 0 1 0 0 0
0 0 0 7622572 16252 0
cpu2 0 0 52577101 25565275 26801121 24132631 812994237346 43152983079 26937729
domain0 00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000005
1125081 1123749 733 2378290 602 0 8 1123742 13138 13137 1 2018 0 0 0
13137 23954299 23750670 88041 190709270 115590 2 10688 23739982 0 0 0
0 0 0 0 0 0 979865 57090 0
domain1 00000000,00000000,00000000,00000000,00000000,00000000,00000000,0000000f
1052559 1052538 15 114576 7 0 0 25607 13113 13113 0 0 0 0 0 55
23838711 23200171 613151 756023415 25505 0 52756 23147415 0 0 0 0 0 0
0 0 0 597157 46792 0
cpu3 112320 0 28758268 13561833 14268286 12145196 2012983455891
88768447010 14923733
domain0 00000000,00000000,00000000,00000000,00000000,00000000,00000000,0000000a
1705787 1704495 727 5715943 571 2 6 1704489 22311 22311 0 1476 0 0 0
22311 12332932 12230181 67994 135432986 34760 4 7662 12222519 1 0 1 0
0 0 0 0 0 997198 25844 0
domain1 00000000,00000000,00000000,00000000,00000000,00000000,00000000,0000000f
1873701 1873686 8 15157 5 0 0 126733 30014 30014 0 0 0 0 0 48 12298175
11963494 304127 386917447 32071 0 44945 11918549 0 0 0 0 0 0 0 0 0
3374661 31194 0
Abhishek
On Mon, Oct 8, 2012 at 2:42 PM, Abhishek Gupta <gupta59@illinois.edu> wrote:
> Thanks for the answer. I am more of an application user. Is there a
> quick way to check this flag and enable it if its disabled?
> Abhishek
>
>
> On Mon, Oct 8, 2012 at 2:39 PM, Marcelo Tosatti <mtosatti@redhat.com> wrote:
>> On Mon, Oct 08, 2012 at 02:55:25AM -0500, Abhishek Gupta wrote:
>>> Hi,
>>>
>>> I am trying to get the steal time with 2 VMs (each with 1 Vcpu) pinned
>>> to same core.
>>>
>>> While finding documentation on this, I came across your patches and
>>> posts related to the implementation of this feature, so I thought it
>>> would be best to ask you.
>>>
>>> I run the same application on these 2 VMs simultaneously and see the
>>> performance difference. I am trying to read the steal time from inside
>>> the guest using top, vmstat etc.
>>>
>>> Both, top and vmstat -s report the steal time (st) as 0. I also
>>> checked that procps is in latest version. I am using virtio-net. I
>>> suspect that the steal time is not being updated well. Is there
>>> something which I need to configure for this to work? My Linux version
>>> for guest image is:
>>>
>>> Linux server-147 2.6.35-24-virtual #42-Ubuntu SMP Thu Dec 2 05:15:26
>>> UTC 2010 x86_64 GNU/Linux
>>>
>>> And /proc/cpuinfo shows i:
>>>
>>> processor : 0
>>> vendor_id : GenuineIntel
>>> cpu family : 6
>>> model : 2
>>> model name : QEMU Virtual CPU version 0.14.0
>>> stepping : 3
>>> cpu MHz : 2992.498
>>> cache size : 4096 KB
>>> fpu : yes
>>> fpu_exception : yes
>>> cpuid level : 4
>>> wp : yes
>>> flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
>>> pse36 clflush mmx fxsr sse sse2 syscall nx lm up rep_good pni cx16
>>> hypervisor lahf_lm
>> bogomips : 5984.99
>>> clflush size : 64
>>> cache_alignment : 64
>>> address sizes : 40 bits physical, 48 bits virtual
>>> power management:
>>>
>>>
>>> Another question I had was that is there a way to programmatically get
>>> the value of steal cycles (e.g. from a C program) ?
>>> Thanks,
>>>
>>> Abhishek
>>
>> Make sure CONFIG_SCHEDSTATS is enabled in your host kernel.
>>
>>> On Monday, June 13, 2011 6:40:02 PM UTC-5, Glauber Costa wrote:
>>> > Hi,
>>> >
>>> > This series is a repost of the last series I posted about this.
>>> > It tries to address most concerns that were raised at the time,
>>> > plus makes uses of the static_branch interface to disable the
>>> > steal code when not in use.
>>> >
>>> >
>>> > Glauber Costa (7):
>>> > KVM-HDR Add constant to represent KVM MSRs enabled bit
>>> > KVM-HDR: KVM Steal time implementation
>>> > KVM-HV: KVM Steal time implementation
>>> > KVM-GST: Add a pv_ops stub for steal time
>>> > KVM-GST: KVM Steal time accounting
>>> > KVM-GST: adjust scheduler cpu power
>>> > KVM-GST: KVM Steal time registration
>>> >
>>> > Documentation/kernel-parameters.txt | 4 ++
>>> > Documentation/virtual/kvm/msr.txt | 33 +++++++++++++
>>> > arch/x86/Kconfig | 12 +++++
>>> > arch/x86/include/asm/kvm_host.h | 8 +++
>>> > arch/x86/include/asm/kvm_para.h | 15 ++++++
>>> > arch/x86/include/asm/paravirt.h | 9 ++++
>>> > arch/x86/include/asm/paravirt_types.h | 1 +
>>> > arch/x86/kernel/kvm.c | 72 +++++++++++++++++++++++++++++
>>> > arch/x86/kernel/kvmclock.c | 2 +
>>> > arch/x86/kernel/paravirt.c | 9 ++++
>>> > arch/x86/kvm/x86.c | 60 +++++++++++++++++++++++-
>>> > kernel/sched.c | 81 +++++++++++++++++++++++++++++----
>>> > kernel/sched_features.h | 4 +-
>>> > 13 files changed, 296 insertions(+), 14 deletions(-)
>>> >
>>> > --
>>> > 1.7.3.4
>>> >
>>> > --
>>> > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>>> > the body of a message to majordomo@vger.kernel.org
>>> > More majordomo info at http://vger.kernel.org/majordomo-info.html
>>> > Please read the FAQ at http://www.tux.org/lkml/
>>>
>>>
>>>
>>> On Monday, June 13, 2011 6:40:02 PM UTC-5, Glauber Costa wrote:
>>> > Hi,
>>> >
>>> > This series is a repost of the last series I posted about this.
>>> > It tries to address most concerns that were raised at the time,
>>> > plus makes uses of the static_branch interface to disable the
>>> > steal code when not in use.
>>> >
>>> >
>>> > Glauber Costa (7):
>>> > KVM-HDR Add constant to represent KVM MSRs enabled bit
>>> > KVM-HDR: KVM Steal time implementation
>>> > KVM-HV: KVM Steal time implementation
>>> > KVM-GST: Add a pv_ops stub for steal time
>>> > KVM-GST: KVM Steal time accounting
>>> > KVM-GST: adjust scheduler cpu power
>>> > KVM-GST: KVM Steal time registration
>>> >
>>> > Documentation/kernel-parameters.txt | 4 ++
>>> > Documentation/virtual/kvm/msr.txt | 33 +++++++++++++
>>> > arch/x86/Kconfig | 12 +++++
>>> > arch/x86/include/asm/kvm_host.h | 8 +++
>>> > arch/x86/include/asm/kvm_para.h | 15 ++++++
>>> > arch/x86/include/asm/paravirt.h | 9 ++++
>>> > arch/x86/include/asm/paravirt_types.h | 1 +
>>> > arch/x86/kernel/kvm.c | 72 +++++++++++++++++++++++++++++
>>> > arch/x86/kernel/kvmclock.c | 2 +
>>> > arch/x86/kernel/paravirt.c | 9 ++++
>>> > arch/x86/kvm/x86.c | 60 +++++++++++++++++++++++-
>>> > kernel/sched.c | 81 +++++++++++++++++++++++++++++----
>>> > kernel/sched_features.h | 4 +-
>>> > 13 files changed, 296 insertions(+), 14 deletions(-)
>>> >
>>> > --
>>> > 1.7.3.4
>>> >
>>> > --
>>> > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>>> > the body of a message to majordomo@vger.kernel.org
>>> > More majordomo info at http://vger.kernel.org/majordomo-info.html
>>> > Please read the FAQ at http://www.tux.org/lkml/
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe kvm" in
>>> the body of a message to majordomo@vger.kernel.org
>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Steal time in KVM
2012-10-08 19:47 ` Abhishek Gupta
@ 2012-10-08 20:02 ` Marcelo Tosatti
2012-10-08 20:06 ` Abhishek Gupta
0 siblings, 1 reply; 6+ messages in thread
From: Marcelo Tosatti @ 2012-10-08 20:02 UTC (permalink / raw)
To: Abhishek Gupta; +Cc: kvm
On Mon, Oct 08, 2012 at 02:47:59PM -0500, Abhishek Gupta wrote:
> I think this flag is enabled since I see that there is some information
>
> cat /proc/schedstat
This is in the host? Then, yes, the host has schedstat enabled.
Definition of steal time: the amount of time in which this vCPU did not
run.
So with some CPU load on the host system, you should see "steal time"
!= 0 in the guest system.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Steal time in KVM
2012-10-08 20:02 ` Marcelo Tosatti
@ 2012-10-08 20:06 ` Abhishek Gupta
0 siblings, 0 replies; 6+ messages in thread
From: Abhishek Gupta @ 2012-10-08 20:06 UTC (permalink / raw)
To: Marcelo Tosatti; +Cc: kvm
Yes, that is in the host, but in the guest I always see "steal time"
=0. I checked through /proc/stat, mpstat, top, vmstat.
Not sure, why the steal time information is not getting propagated to
the guest.
Thanks,
Abhishek
On Mon, Oct 8, 2012 at 3:02 PM, Marcelo Tosatti <mtosatti@redhat.com> wrote:
> On Mon, Oct 08, 2012 at 02:47:59PM -0500, Abhishek Gupta wrote:
>> I think this flag is enabled since I see that there is some information
>>
>> cat /proc/schedstat
>
> This is in the host? Then, yes, the host has schedstat enabled.
>
> Definition of steal time: the amount of time in which this vCPU did not
> run.
>
> So with some CPU load on the host system, you should see "steal time"
> != 0 in the guest system.
>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2012-10-08 20:06 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-08 7:55 Steal time in KVM Abhishek Gupta
2012-10-08 19:39 ` Marcelo Tosatti
2012-10-08 19:42 ` Abhishek Gupta
2012-10-08 19:47 ` Abhishek Gupta
2012-10-08 20:02 ` Marcelo Tosatti
2012-10-08 20:06 ` Abhishek Gupta
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.