summary refs log tree commit diff
path: root/arch/ia64/xen
diff options
context:
space:
mode:
authorTorben Hohn <torbenh@gmx.de>2011-01-27 15:59:56 +0100
committerThomas Gleixner <tglx@linutronix.de>2011-01-31 14:55:45 +0100
commit1aabd67d2e97e6affdf5a7c65f442ac91ace3f85 (patch)
treeddebf04e61ec7c436b2b9bb6a55bf58b0c6e75e4 /arch/ia64/xen
parentdaad8b581e7f5e21a2f79e49d57d4f6a73b26510 (diff)
downloadlinux-1aabd67d2e97e6affdf5a7c65f442ac91ace3f85.tar.gz
ia64: Switch do_timer() to xtime_update()
local_cpu_data->itm_next = new_itm; does not need to be protected by
xtime_lock. xtime_update() takes the lock itself.

Signed-off-by: Torben Hohn <torbenh@gmx.de>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: johnstul@us.ibm.com
Cc: hch@infradead.org
Cc: yong.zhang0@gmail.com
LKML-Reference: <20110127145956.23248.49107.stgit@localhost>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/ia64/xen')
-rw-r--r--arch/ia64/xen/time.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/arch/ia64/xen/time.c b/arch/ia64/xen/time.c
index c1c544513e8d..1f8244a78bee 100644
--- a/arch/ia64/xen/time.c
+++ b/arch/ia64/xen/time.c
@@ -139,14 +139,11 @@ consider_steal_time(unsigned long new_itm)
 		run_posix_cpu_timers(p);
 		delta_itm += local_cpu_data->itm_delta * (stolen + blocked);
 
-		if (cpu == time_keeper_id) {
-			write_seqlock(&xtime_lock);
-			do_timer(stolen + blocked);
-			local_cpu_data->itm_next = delta_itm + new_itm;
-			write_sequnlock(&xtime_lock);
-		} else {
-			local_cpu_data->itm_next = delta_itm + new_itm;
-		}
+		if (cpu == time_keeper_id)
+			xtime_update(stolen + blocked);
+
+		local_cpu_data->itm_next = delta_itm + new_itm;
+
 		per_cpu(xen_stolen_time, cpu) += NS_PER_TICK * stolen;
 		per_cpu(xen_blocked_time, cpu) += NS_PER_TICK * blocked;
 	}