[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [Patch] Fix IDLE issue with sedf scheduler on IA64
Hi, Dan, This patch fixes strange behavior on IA64, that IDLE is scheduled more than Dom0 with default sEDF scheduler. The key point is reprogram_ac_timer at the end of ac_timer dispatcher, which programs local apic timer with expire of next ac_timer on x86. Higher precision lapic timer can trigger ac_timer more precisely than simply done in PIT interrupt handler. That works perfectly on x86 because PIT is already dedicated to update system time and wall time, etc. However on IA64, there's only one timer source (local sapic timer), to cover both updating time related statistics and triggering ac_timer softirq. In this case, the delta between adjacent timer interrupts can't be changed dynamically, or else system time (especially NOW()) is inaccurate. So reprogram_ac_timer should always return 1 on IA64. To make ac_timer softirq triggered more precisely, another parameter tuned in the patch is the HZ, changed from 100(10ms) to 1024(1ms). Then the cpu_time of IDLE is decreased to about 0.09% from previous %1. Signed-off-by Kevin Tian <Kevin.Tian@xxxxxxxxx> Thanks, Kevin Attachment:
patch_idle_ia64 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |