diff options
author | Torben Hohn <torbenh@gmx.de> | 2011-01-27 15:59:56 +0100 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2011-01-31 14:55:45 +0100 |
commit | 1aabd67d2e97e6affdf5a7c65f442ac91ace3f85 (patch) | |
tree | ddebf04e61ec7c436b2b9bb6a55bf58b0c6e75e4 /arch/ia64/xen | |
parent | daad8b581e7f5e21a2f79e49d57d4f6a73b26510 (diff) | |
download | op-kernel-dev-1aabd67d2e97e6affdf5a7c65f442ac91ace3f85.zip op-kernel-dev-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.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/arch/ia64/xen/time.c b/arch/ia64/xen/time.c index c1c5445..1f8244a 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; } |