From: Marcelo Tosatti <mtosatti@redhat.com>
To: kvm@vger.kernel.org
Cc: Marcelo Tosatti <mtosatti@redhat.com>
Subject: [patch 3/8] KVM: x86: per-vcpu timer list
Date: Sun, 05 Jul 2009 22:55:14 -0300 [thread overview]
Message-ID: <20090706015812.679196017@localhost.localdomain> (raw)
In-Reply-To: 20090706015511.923596553@localhost.localdomain
[-- Attachment #1: kvm-per-vcpu-timer-list --]
[-- Type: text/plain, Size: 1962 bytes --]
Add a per-vcpu list of (emulated) timers.
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Index: kvm-new/arch/x86/include/asm/kvm_host.h
===================================================================
--- kvm-new.orig/arch/x86/include/asm/kvm_host.h
+++ kvm-new/arch/x86/include/asm/kvm_host.h
@@ -375,6 +375,8 @@ struct kvm_vcpu_arch {
u64 mcg_status;
u64 mcg_ctl;
u64 *mce_banks;
+
+ struct list_head timers;
};
struct kvm_mem_alias {
Index: kvm-new/arch/x86/kvm/kvm_timer.h
===================================================================
--- kvm-new.orig/arch/x86/kvm/kvm_timer.h
+++ kvm-new/arch/x86/kvm/kvm_timer.h
@@ -7,6 +7,7 @@ struct kvm_timer {
bool periodic;
struct kvm *kvm;
struct kvm_vcpu *vcpu;
+ struct list_head vcpu_timer;
};
void kvm_timer_init(struct kvm *kvm, struct kvm_timer *ktimer);
Index: kvm-new/arch/x86/kvm/x86.c
===================================================================
--- kvm-new.orig/arch/x86/kvm/x86.c
+++ kvm-new/arch/x86/kvm/x86.c
@@ -4644,6 +4644,8 @@ int kvm_arch_vcpu_init(struct kvm_vcpu *
BUG_ON(vcpu->kvm == NULL);
kvm = vcpu->kvm;
+ INIT_LIST_HEAD(&vcpu->arch.timers);
+
vcpu->arch.mmu.root_hpa = INVALID_PAGE;
if (!irqchip_in_kernel(kvm) || kvm_vcpu_is_bsp(vcpu))
vcpu->arch.mp_state = KVM_MP_STATE_RUNNABLE;
Index: kvm-new/arch/x86/kvm/timer.c
===================================================================
--- kvm-new.orig/arch/x86/kvm/timer.c
+++ kvm-new/arch/x86/kvm/timer.c
@@ -53,11 +53,13 @@ void kvm_timer_init(struct kvm *kvm, str
ktimer->kvm = kvm;
hrtimer_init(&ktimer->timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS);
ktimer->timer.function = kvm_timer_fn;
+ INIT_LIST_HEAD(&ktimer->vcpu_timer);
}
void kvm_timer_vcpu_bind(struct kvm_timer *ktimer, struct kvm_vcpu *vcpu)
{
ktimer->vcpu = vcpu;
+ list_add(&ktimer->vcpu_timer, &vcpu->arch.timers);
}
void kvm_timer_start(struct kvm_timer *ktimer, u64 interval, bool periodic)
--
next prev parent reply other threads:[~2009-07-06 20:01 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-06 1:55 [patch 0/8] RFC: in-kernel timer emulation changes Marcelo Tosatti
2009-07-06 1:55 ` [patch 1/8] KVM: timer interface unification Marcelo Tosatti
2009-07-08 13:33 ` Avi Kivity
2009-07-06 1:55 ` [patch 2/8] KVM: move lapic timer ack to EOI handler Marcelo Tosatti
2009-07-06 1:55 ` Marcelo Tosatti [this message]
2009-07-06 1:55 ` [patch 4/8] KVM: x86: replace hrtimer based timer emulation Marcelo Tosatti
2009-07-08 12:58 ` Gleb Natapov
2009-07-08 13:17 ` Marcelo Tosatti
2009-07-08 13:39 ` Gleb Natapov
2009-07-08 15:42 ` Marcelo Tosatti
2009-07-08 16:13 ` Gleb Natapov
2009-07-08 16:29 ` Gleb Natapov
2009-07-08 16:37 ` Marcelo Tosatti
2009-07-08 16:40 ` Gleb Natapov
2009-07-08 16:47 ` Marcelo Tosatti
2009-07-08 13:41 ` Avi Kivity
2009-07-08 16:24 ` Marcelo Tosatti
2009-07-08 16:36 ` Avi Kivity
2009-07-06 1:55 ` [patch 5/8] KVM: timer: honor noreinject tunable Marcelo Tosatti
2009-07-06 1:55 ` [patch 6/8] KVM: timer: optimize next_timer_event and vcpu_arm_exit Marcelo Tosatti
2009-07-06 1:55 ` [patch 7/8] KVM: PIT: removed unused code Marcelo Tosatti
2009-07-06 1:55 ` [patch 8/8] kvmctl: time testcase Marcelo Tosatti
2009-07-08 13:43 ` [patch 0/8] RFC: in-kernel timer emulation changes Avi Kivity
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090706015812.679196017@localhost.localdomain \
--to=mtosatti@redhat.com \
--cc=kvm@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).