public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] KVM support for TSC scaling
@ 2011-02-09 17:29 Joerg Roedel
  2011-02-09 17:29 ` [PATCH 1/6] KVM: SVM: Advance instruction pointer in dr_intercept Joerg Roedel
                   ` (6 more replies)
  0 siblings, 7 replies; 25+ messages in thread
From: Joerg Roedel @ 2011-02-09 17:29 UTC (permalink / raw)
  To: Avi Kivity, Marcelo Tosatti; +Cc: kvm, linux-kernel, Zachary Amsden

Hi Avi, Marcelo,

here is the patch-set to implement the TSC-scaling feature of upcoming
AMD CPUs. When this feature is supported the CPU provides a new MSR
which holds a multiplier for the hardware TSC which is applied on the
value rdtsc[p] and reads of MSR 0x10. This feature can be used to
emulate a given tsc frequency for the guest.
Patch 1 is not directly related to this patch-set because it only fixes
a bug which prevented me from testing these patches. In fact it fixes
the same bug Andre sent a patch for. But after the discussion about his
patch he told me to just post my patch and thus here it is.

Thanks,

	Joerg

Diff-stat:

 arch/x86/include/asm/kvm_host.h  |    4 ++
 arch/x86/include/asm/msr-index.h |    1 +
 arch/x86/kvm/svm.c               |   91 +++++++++++++++++++++++++++++++++++++-
 arch/x86/kvm/vmx.c               |   12 +++++
 arch/x86/kvm/x86.c               |   60 ++++++++++++++++++++++---
 include/linux/kvm.h              |    4 ++
 6 files changed, 164 insertions(+), 8 deletions(-)

Shortlog:

Joerg Roedel (6):
      KVM: SVM: Advance instruction pointer in dr_intercept
      KVM: SVM: Implement infrastructure for TSC_RATE_MSR
      KVM: X86: Let kvm-clock report the right tsc frequency
      KVM: SVM: Propagate requested TSC frequency on vcpu init
      KVM: X86: Delegate tsc-offset calculation to architecture code
      KVM: X86: Implement userspace interface to set virtual_tsc_khz

^ permalink raw reply	[flat|nested] 25+ messages in thread
* [PATCH 0/6] TSC scaling support for KVM v2
@ 2011-03-15  9:36 Joerg Roedel
  2011-03-15  9:36 ` [PATCH 5/6] KVM: X86: Delegate tsc-offset calculation to architecture code Joerg Roedel
  0 siblings, 1 reply; 25+ messages in thread
From: Joerg Roedel @ 2011-03-15  9:36 UTC (permalink / raw)
  To: Avi Kivity, Marcelo Tosatti; +Cc: Zachary Amsden, kvm

Hi,

this is version 2 of the TSC scaling patch-set. The main difference to
version 1 is that the scaling factor is not switched in the leightweight
exit path anymore. This is possible because production hardware will
apply the scaling factor only when the CPU is in guest mode.

Beside that change I addressed the comments that came up in the review
of the first version. An important change here is that I changed the
usage of the adjust_tsc_offset() function and calculate all adjustment
values only from the guest tsc. This change should make it suitable to
the changes Zachary wants to implement.

Comments on this patches appreciated.

Thanks,

	Joerg

Diffstat:

 Documentation/kvm/api.txt        |   22 ++++++++
 arch/x86/include/asm/kvm_host.h  |   10 ++++
 arch/x86/include/asm/msr-index.h |    1 +
 arch/x86/kvm/svm.c               |  110 +++++++++++++++++++++++++++++++++++++-
 arch/x86/kvm/vmx.c               |   12 ++++
 arch/x86/kvm/x86.c               |   86 ++++++++++++++++++++++++++---
 include/linux/kvm.h              |    5 ++
 7 files changed, 236 insertions(+), 10 deletions(-)

Shortlog:

Joerg Roedel (6):
      KVM: SVM: Implement infrastructure for TSC_RATE_MSR
      KVM: X86: Let kvm-clock report the right tsc frequency
      KVM: X86: Make tsc_delta calculation a function of guest tsc
      KVM: SVM: Propagate requested TSC frequency on vcpu init
      KVM: X86: Delegate tsc-offset calculation to architecture code
      KVM: X86: Implement userspace interface to set virtual_tsc_khz



^ permalink raw reply	[flat|nested] 25+ messages in thread
* [PATCH 0/6][RESEND] TSC scaling support for KVM v2
@ 2011-03-24  7:40 Joerg Roedel
  2011-03-24  7:40 ` [PATCH 5/6] KVM: X86: Delegate tsc-offset calculation to architecture code Joerg Roedel
  0 siblings, 1 reply; 25+ messages in thread
From: Joerg Roedel @ 2011-03-24  7:40 UTC (permalink / raw)
  To: Avi Kivity, Marcelo Tosatti; +Cc: Zachary Amsden, kvm

Hi,

this is version 2 of the TSC scaling patch-set. The main difference to
version 1 is that the scaling factor is not switched in the leightweight
exit path anymore. This is possible because production hardware will
apply the scaling factor only when the CPU is in guest mode.

Beside that change I addressed the comments that came up in the review
of the first version. An important change here is that I changed the
usage of the adjust_tsc_offset() function and calculate all adjustment
values only from the guest tsc. This change should make it suitable to
the changes Zachary wants to implement.

Comments on this patches appreciated.

Thanks,

	Joerg

Diffstat:

 Documentation/kvm/api.txt        |   22 ++++++++
 arch/x86/include/asm/kvm_host.h  |   10 ++++
 arch/x86/include/asm/msr-index.h |    1 +
 arch/x86/kvm/svm.c               |  110 +++++++++++++++++++++++++++++++++++++-
 arch/x86/kvm/vmx.c               |   12 ++++
 arch/x86/kvm/x86.c               |   87 +++++++++++++++++++++++++++---
 include/linux/kvm.h              |    5 ++
 7 files changed, 237 insertions(+), 10 deletions(-)

Shortlog:

Joerg Roedel (6):
      KVM: SVM: Implement infrastructure for TSC_RATE_MSR
      KVM: X86: Let kvm-clock report the right tsc frequency
      KVM: X86: Make tsc_delta calculation a function of guest tsc
      KVM: SVM: Propagate requested TSC frequency on vcpu init
      KVM: X86: Delegate tsc-offset calculation to architecture code
      KVM: X86: Implement userspace interface to set virtual_tsc_khz



^ permalink raw reply	[flat|nested] 25+ messages in thread
* [PATCH 0/6] TSC scaling support for KVM v3
@ 2011-03-25  8:44 Joerg Roedel
  2011-03-25  8:44 ` [PATCH 5/6] KVM: X86: Delegate tsc-offset calculation to architecture code Joerg Roedel
  0 siblings, 1 reply; 25+ messages in thread
From: Joerg Roedel @ 2011-03-25  8:44 UTC (permalink / raw)
  To: Avi Kivity, Marcelo Tosatti; +Cc: Zachary Amsden, kvm

Hi,

this is the third round of my patches to support tsc-scaling in KVM. The
changes to v2 address Avi's comments from yesterday. Besides that the
whole virtual_tsc_khz thing has been moved out of the vm into the vcpu
data structure. The mult and shift parts where renamed to tsc_catchup_*
because this is their actual use (and because the handling of
virtual_tsc_khz has changed so that is made sense to seperate them).

Comments and feedback (or merging) appreciated :-)

Regards,

	Joerg

Diffstat:

 Documentation/kvm/api.txt        |   23 ++++++++
 arch/x86/include/asm/kvm_host.h  |   16 ++++-
 arch/x86/include/asm/msr-index.h |    1 +
 arch/x86/kvm/svm.c               |  117 +++++++++++++++++++++++++++++++++++++-
 arch/x86/kvm/vmx.c               |   17 ++++++
 arch/x86/kvm/x86.c               |   79 ++++++++++++++++++++------
 include/linux/kvm.h              |    5 ++
 7 files changed, 237 insertions(+), 21 deletions(-)

Shortlog:

Joerg Roedel (6):
      KVM: SVM: Implement infrastructure for TSC_RATE_MSR
      KVM: X86: Let kvm-clock report the right tsc frequency
      KVM: X86: Make tsc_delta calculation a function of guest tsc
      KVM: X86: Implement call-back to propagate virtual_tsc_khz
      KVM: X86: Delegate tsc-offset calculation to architecture code
      KVM: X86: Implement userspace interface to set virtual_tsc_khz



^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2011-03-25  8:45 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-02-09 17:29 [PATCH 0/6] KVM support for TSC scaling Joerg Roedel
2011-02-09 17:29 ` [PATCH 1/6] KVM: SVM: Advance instruction pointer in dr_intercept Joerg Roedel
2011-02-22 11:14   ` Roedel, Joerg
2011-02-22 14:01     ` Avi Kivity
2011-02-22 14:33       ` Roedel, Joerg
2011-02-09 17:29 ` [PATCH 2/6] KVM: SVM: Implement infrastructure for TSC_RATE_MSR Joerg Roedel
2011-02-09 17:29 ` [PATCH 3/6] KVM: X86: Let kvm-clock report the right tsc frequency Joerg Roedel
2011-02-09 17:29 ` [PATCH 4/6] KVM: SVM: Propagate requested TSC frequency on vcpu init Joerg Roedel
2011-02-09 17:29 ` [PATCH 5/6] KVM: X86: Delegate tsc-offset calculation to architecture code Joerg Roedel
2011-02-11 22:12   ` Zachary Amsden
2011-02-21 17:16     ` Roedel, Joerg
2011-02-09 17:29 ` [PATCH 6/6] KVM: X86: Implement userspace interface to set virtual_tsc_khz Joerg Roedel
2011-02-13 15:12   ` Avi Kivity
2011-02-21 17:17     ` Roedel, Joerg
2011-02-13 15:19 ` [PATCH 0/6] KVM support for TSC scaling Avi Kivity
2011-02-21 17:28   ` Roedel, Joerg
2011-02-21 21:25     ` Zachary Amsden
2011-02-22 10:11     ` Avi Kivity
2011-02-22 10:35       ` Roedel, Joerg
2011-02-22 10:41         ` Avi Kivity
2011-02-22 11:11           ` Roedel, Joerg
2011-02-22 14:11             ` Avi Kivity
  -- strict thread matches above, loose matches on Subject: below --
2011-03-15  9:36 [PATCH 0/6] TSC scaling support for KVM v2 Joerg Roedel
2011-03-15  9:36 ` [PATCH 5/6] KVM: X86: Delegate tsc-offset calculation to architecture code Joerg Roedel
2011-03-24  7:40 [PATCH 0/6][RESEND] TSC scaling support for KVM v2 Joerg Roedel
2011-03-24  7:40 ` [PATCH 5/6] KVM: X86: Delegate tsc-offset calculation to architecture code Joerg Roedel
2011-03-25  8:44 [PATCH 0/6] TSC scaling support for KVM v3 Joerg Roedel
2011-03-25  8:44 ` [PATCH 5/6] KVM: X86: Delegate tsc-offset calculation to architecture code Joerg Roedel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox