Hi, Anthony
I tested following changes, it works fine.
(13:44 Run in 2xDomU Kernel Compile
and DomVTI(nosmp) boot test)
Thanks
Atsushi SAKAI
>+++ b/xen/arch/ia64/xen/hypercall.c Thu Aug 24 11:48:35 2006 -0600
>@@ -235,7 +235,12 @@ fw_hypercall (struct pt_regs *regs)
> }
> else {
> perfc_incrc(pal_halt_light);
>- do_sched_op_compat(SCHEDOP_yield, 0);
>+ migrate_timer(&v->arch.hlt_timer, <<
><<<v->arch.hlt_timer.cpu=v->processor;
>+ v->processor);
>+ set_timer(&v->arch.hlt_timer,
>+ vcpu_get_next_timer_ns(v));
>+ do_sched_op_compat(SCHEDOP_block, 0);
>+ stop_timer(&v->arch.hlt_timer);
> }
> regs->r8 = 0;
> regs->r9 = 0;
>
>I also propose use above assignment state to substitute migrate_timer,
>Because at this time hlt_timer is definitely stopped, we can change
>hlt_timer.cpu
>directly. As we know, migrate_timer may need to get two big spin_locks,
>in huge box, I think this may cause performance degradation.
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|