diff options
author | Keir Fraser <keir@xen.org> | 2011-11-25 13:31:58 +0000 |
---|---|---|
committer | Keir Fraser <keir@xen.org> | 2011-11-25 13:31:58 +0000 |
commit | 5e0f79980e4ace10de74923f604ba523ede0ef90 (patch) | |
tree | 7bff8f2967eeb1e1ebc2264d54306309a7a924a4 /xen/common/timer.c | |
parent | f73d1538994a1042069648a069e6688f0e290dbc (diff) | |
download | xen-5e0f79980e4ace10de74923f604ba523ede0ef90.tar.gz xen-5e0f79980e4ace10de74923f604ba523ede0ef90.tar.bz2 xen-5e0f79980e4ace10de74923f604ba523ede0ef90.zip |
atomic: Define {read,write}_atomic() for reading/writing memory atomically.
Signed-off-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'xen/common/timer.c')
-rw-r--r-- | xen/common/timer.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/xen/common/timer.c b/xen/common/timer.c index 0547ea31a7..0dd2476483 100644 --- a/xen/common/timer.c +++ b/xen/common/timer.c @@ -239,7 +239,7 @@ static inline bool_t timer_lock(struct timer *timer) for ( ; ; ) { - cpu = atomic_read16(&timer->cpu); + cpu = read_atomic(&timer->cpu); if ( unlikely(cpu == TIMER_CPU_status_killed) ) { rcu_read_unlock(&timer_cpu_read_lock); @@ -292,7 +292,7 @@ void init_timer( memset(timer, 0, sizeof(*timer)); timer->function = function; timer->data = data; - atomic_write16(&timer->cpu, cpu); + write_atomic(&timer->cpu, cpu); timer->status = TIMER_STATUS_inactive; if ( !timer_lock_irqsave(timer, flags) ) BUG(); @@ -343,7 +343,7 @@ void migrate_timer(struct timer *timer, unsigned int new_cpu) for ( ; ; ) { - old_cpu = atomic_read16(&timer->cpu); + old_cpu = read_atomic(&timer->cpu); if ( (old_cpu == new_cpu) || (old_cpu == TIMER_CPU_status_killed) ) { rcu_read_unlock(&timer_cpu_read_lock); @@ -375,7 +375,7 @@ void migrate_timer(struct timer *timer, unsigned int new_cpu) deactivate_timer(timer); list_del(&timer->inactive); - atomic_write16(&timer->cpu, new_cpu); + write_atomic(&timer->cpu, new_cpu); list_add(&timer->inactive, &per_cpu(timers, new_cpu).inactive); if ( active ) @@ -402,7 +402,7 @@ void kill_timer(struct timer *timer) list_del(&timer->inactive); timer->status = TIMER_STATUS_killed; old_cpu = timer->cpu; - atomic_write16(&timer->cpu, TIMER_CPU_status_killed); + write_atomic(&timer->cpu, TIMER_CPU_status_killed); spin_unlock_irqrestore(&per_cpu(timers, old_cpu).lock, flags); @@ -573,7 +573,7 @@ static void migrate_timers_from_cpu(unsigned int old_cpu) ? old_ts->heap[1] : old_ts->list) != NULL ) { remove_entry(t); - atomic_write16(&t->cpu, new_cpu); + write_atomic(&t->cpu, new_cpu); notify |= add_entry(t); } @@ -581,7 +581,7 @@ static void migrate_timers_from_cpu(unsigned int old_cpu) { t = list_entry(old_ts->inactive.next, struct timer, inactive); list_del(&t->inactive); - atomic_write16(&t->cpu, new_cpu); + write_atomic(&t->cpu, new_cpu); list_add(&t->inactive, &new_ts->inactive); } |