[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] Adjust handle_hpet_broadcast to let it run better before broadcast exit
Adjust handle_hpet_broadcast to let it run better before broadcast exit Since hpet_broadcast_exit has been moved after interrupt enabled in C3 case, so adjust the handler of hpet broadcast to adapt to this. Meanwhile, remove a freqently executed debug print line to simplify the serial output. Signed-off-by: Wei Gang <gang.wei@xxxxxxxxx> diff -r 63317b6c3eab xen/arch/x86/hpet.c --- a/xen/arch/x86/hpet.c Mon Jul 14 15:21:03 2008 +0100 +++ b/xen/arch/x86/hpet.c Wed Jul 16 12:43:52 2008 +0800 @@ -97,8 +97,6 @@ static int reprogram_hpet_evt_channel( delta = expire - now; if ( delta <= 0 ) { - printk(KERN_DEBUG "reprogram: expire(%"PRIx64") < " - "now(%"PRIx64")\n", expire, now); if ( !force ) return -ETIME; } @@ -142,12 +140,10 @@ static void handle_hpet_broadcast(struct { cpumask_t mask; s_time_t now, next_event; - int cpu, current_cpu = smp_processor_id(); + int cpu; spin_lock(&ch->lock); - if ( cpu_isset(current_cpu, ch->cpumask) ) - printk(KERN_DEBUG "WARNING: current cpu%d in bc_mask\n", current_cpu); again: ch->next_event = STIME_MAX; next_event = STIME_MAX; @@ -162,8 +158,6 @@ again: else if ( per_cpu(timer_deadline, cpu) < next_event ) next_event = per_cpu(timer_deadline, cpu); } - if ( per_cpu(timer_deadline, current_cpu) <= now ) - cpu_set(current_cpu, mask); /* wakeup the cpus which have an expired event. */ evt_do_broadcast(mask); _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |