Mailing List Archive

[xen-unstable] [IA64] init the hlt timer on a valid cpu and migrate
# HG changeset patch
# User awilliam@xenbuild.aw
# Node ID e317ad162eba350fe32b780dd8293fc1ae883716
# Parent 684fdcfb251a443fa885c142b427d253ec033212
[IA64] init the hlt timer on a valid cpu and migrate

Based on a patch from Anthony Xu, v->processor is not initialized
in alloc_vcpu_struct() when we initialize the hlt_timer. Init the
timer on the first cpu and migrate it in schedule_tail().

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
---
xen/arch/ia64/xen/domain.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletion(-)

diff -r 684fdcfb251a -r e317ad162eba xen/arch/ia64/xen/domain.c
--- a/xen/arch/ia64/xen/domain.c Mon Aug 28 16:26:37 2006 -0600
+++ b/xen/arch/ia64/xen/domain.c Tue Aug 29 08:09:28 2006 -0600
@@ -122,6 +122,7 @@ void schedule_tail(struct vcpu *prev)
shared_info->vcpu_info[current->vcpu_id].evtchn_upcall_mask;
__ia64_per_cpu_var(current_psr_ic_addr) = (int *)
(current->domain->arch.shared_info_va + XSI_PSR_IC_OFS);
+ migrate_timer(&current->arch.hlt_timer, current->processor);
}
flush_vtlb_for_context_switch(current);
}
@@ -305,7 +306,8 @@ struct vcpu *alloc_vcpu_struct(struct do
v->arch.last_processor = INVALID_PROCESSOR;
}
if (!VMX_DOMAIN(v)){
- init_timer(&v->arch.hlt_timer, hlt_timer_fn, v, v->processor);
+ init_timer(&v->arch.hlt_timer, hlt_timer_fn, v,
+ first_cpu(cpu_online_map));
}

return v;

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xensource.com
http://lists.xensource.com/xen-changelog