[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] Add a timer mode that disables pending missed ticks
Keir, Attached is a fix for pt_process_missed_ticks(). Without this fix, systems run very erratically and some guests panic on boot complaining that timer interrupts are not working. As you can imagine. Also, I have some longer term measurements of the accuracy of the sync and async methods. The hardware is an eight cpu AMD box. Two eight vcpu guests, rh4u4-64 and sles9sp3-64. All vcpus running loads. Method Test duration Clock errors SYNC 56000 sec 6.4, 6.7 sec (.012%) ASYNC 52000 sec 13, 19 sec (.036%) More testing should be done to validate the significance of this difference. regards, Dave Dave Winchell wrote: Keir Fraser wrote:On 3/11/07 21:17, "Dave Winchell" <dwinchell@xxxxxxxxxxxxxxx> wrote:Thanks for applying the fixes in the last submit. In moving the test for no_missed_tick_accounting into pt_process_missed_ticks() you forgot to add the scheduling part.Actually it was deliberate, but clearly it was one code simplification too far: thanks for spotting it! I'll go the async route, but we do need to setpending_intr_nr to 1. We can't leave that out -- the point of the asyncroute is to send a tick to the vcpu immediately, since it hasn't had one for more than a tick period. If we wait for the timeout to do that then we haveto wait a whole extra period after the vcpu is re-scheduled. Attached is my proposed patch. I think it's quite neat. :-)It looks good to me. thanks, Dave-- Keir diff -r dfe9c0c10a2c xen/arch/x86/hvm/vpt.c --- a/xen/arch/x86/hvm/vpt.c Mon Nov 05 13:23:55 2007 +0000 +++ b/xen/arch/x86/hvm/vpt.c Wed Nov 07 08:55:45 2007 -0500 @@ -59,7 +59,7 @@ static void pt_process_missed_ticks(stru if ( mode_is(pt->vcpu->domain, no_missed_tick_accounting) ) { pt->pending_intr_nr = 1; - pt->scheduled = now + pt->scheduled; + pt->scheduled = now + pt->period; } else { _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |