[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 2/4] CPUIDLE: Avoid remnant LAPIC timer intr while force hpetbroadcast
CPUIDLE: Avoid remnant LAPIC timer intr while force hpetbroadcast LAPIC will stop during C3, and resume to work after exit from C3. Considering below case: The LAPIC timer was programmed to expire after 1000us, but CPU enter C3 after 100us and exit C3 at 9xxus. 0us: reprogram_timer(1000us) 100us: entry C3, LAPIC timer stop 9xxus: exit C3 due to unexpected event, LAPIC timer continue running 10xxus: reprogram_timer(1000us), fail due to the past expiring time. ......: no timer softirq raised, no change to LAPIC timer. ......: if entry C3 again, HPET will be forced reprogramed to now+small_slop. ......: if entry C2, no change to LAPIC. 18xxus: LAPIC timer expires unexpectedly if no C3 entries after 10xxus. >From above sequences, we can find this case will either introduce extra HPET >intrs or put off the softtimer expiring. This patch simply stops the LAPIC timer first (avoid immediate unnecessary expiring) and raise a softirq (continue the softtimer handling process, which will correct the LAPIC timer) when reprogram LAPIC timer fails. Signed-off-by: Wei Gang <gang.wei@xxxxxxxxx> Attachment:
cancel_useless_timer_intr_0909.patch _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |