diff options
| author | Jan Glauber <jan.glauber@de.ibm.com> | 2007-04-27 10:01:55 -0400 |
|---|---|---|
| committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2007-04-27 10:01:46 -0400 |
| commit | db77aa5f3d01fe6a6cc629dbd37936b1fdd129ba (patch) | |
| tree | 49186d1428510ae6aa658099d36133a2a0406068 | |
| parent | 131a395c18af43d824841642038e5cc0d48f0bd2 (diff) | |
[S390] vtime: cleanup per_cpu usage.
Replace per_cpu(... , smp_processor_id()) with __get_cpu_var()
Signed-off-by: Jan Glauber <jan.glauber@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
| -rw-r--r-- | arch/s390/kernel/vtime.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/arch/s390/kernel/vtime.c b/arch/s390/kernel/vtime.c index 9d5b02801b46..1e1a6ee2cac1 100644 --- a/arch/s390/kernel/vtime.c +++ b/arch/s390/kernel/vtime.c | |||
| @@ -128,7 +128,7 @@ static inline void set_vtimer(__u64 expires) | |||
| 128 | S390_lowcore.last_update_timer = expires; | 128 | S390_lowcore.last_update_timer = expires; |
| 129 | 129 | ||
| 130 | /* store expire time for this CPU timer */ | 130 | /* store expire time for this CPU timer */ |
| 131 | per_cpu(virt_cpu_timer, smp_processor_id()).to_expire = expires; | 131 | __get_cpu_var(virt_cpu_timer).to_expire = expires; |
| 132 | } | 132 | } |
| 133 | #else | 133 | #else |
| 134 | static inline void set_vtimer(__u64 expires) | 134 | static inline void set_vtimer(__u64 expires) |
| @@ -137,7 +137,7 @@ static inline void set_vtimer(__u64 expires) | |||
| 137 | asm volatile ("SPT %0" : : "m" (S390_lowcore.last_update_timer)); | 137 | asm volatile ("SPT %0" : : "m" (S390_lowcore.last_update_timer)); |
| 138 | 138 | ||
| 139 | /* store expire time for this CPU timer */ | 139 | /* store expire time for this CPU timer */ |
| 140 | per_cpu(virt_cpu_timer, smp_processor_id()).to_expire = expires; | 140 | __get_cpu_var(virt_cpu_timer).to_expire = expires; |
| 141 | } | 141 | } |
| 142 | #endif | 142 | #endif |
| 143 | 143 | ||
| @@ -145,7 +145,7 @@ static void start_cpu_timer(void) | |||
| 145 | { | 145 | { |
| 146 | struct vtimer_queue *vt_list; | 146 | struct vtimer_queue *vt_list; |
| 147 | 147 | ||
| 148 | vt_list = &per_cpu(virt_cpu_timer, smp_processor_id()); | 148 | vt_list = &__get_cpu_var(virt_cpu_timer); |
| 149 | 149 | ||
| 150 | /* CPU timer interrupt is pending, don't reprogramm it */ | 150 | /* CPU timer interrupt is pending, don't reprogramm it */ |
| 151 | if (vt_list->idle & 1LL<<63) | 151 | if (vt_list->idle & 1LL<<63) |
| @@ -159,7 +159,7 @@ static void stop_cpu_timer(void) | |||
| 159 | { | 159 | { |
| 160 | struct vtimer_queue *vt_list; | 160 | struct vtimer_queue *vt_list; |
| 161 | 161 | ||
| 162 | vt_list = &per_cpu(virt_cpu_timer, smp_processor_id()); | 162 | vt_list = &__get_cpu_var(virt_cpu_timer); |
| 163 | 163 | ||
| 164 | /* nothing to do */ | 164 | /* nothing to do */ |
| 165 | if (list_empty(&vt_list->list)) { | 165 | if (list_empty(&vt_list->list)) { |
| @@ -219,7 +219,7 @@ static void do_callbacks(struct list_head *cb_list) | |||
| 219 | if (list_empty(cb_list)) | 219 | if (list_empty(cb_list)) |
| 220 | return; | 220 | return; |
| 221 | 221 | ||
| 222 | vt_list = &per_cpu(virt_cpu_timer, smp_processor_id()); | 222 | vt_list = &__get_cpu_var(virt_cpu_timer); |
| 223 | 223 | ||
| 224 | list_for_each_entry_safe(event, tmp, cb_list, entry) { | 224 | list_for_each_entry_safe(event, tmp, cb_list, entry) { |
| 225 | fn = event->function; | 225 | fn = event->function; |
| @@ -244,7 +244,6 @@ static void do_callbacks(struct list_head *cb_list) | |||
| 244 | */ | 244 | */ |
| 245 | static void do_cpu_timer_interrupt(__u16 error_code) | 245 | static void do_cpu_timer_interrupt(__u16 error_code) |
| 246 | { | 246 | { |
| 247 | int cpu; | ||
| 248 | __u64 next, delta; | 247 | __u64 next, delta; |
| 249 | struct vtimer_queue *vt_list; | 248 | struct vtimer_queue *vt_list; |
| 250 | struct vtimer_list *event, *tmp; | 249 | struct vtimer_list *event, *tmp; |
| @@ -253,8 +252,7 @@ static void do_cpu_timer_interrupt(__u16 error_code) | |||
| 253 | struct list_head cb_list; | 252 | struct list_head cb_list; |
| 254 | 253 | ||
| 255 | INIT_LIST_HEAD(&cb_list); | 254 | INIT_LIST_HEAD(&cb_list); |
| 256 | cpu = smp_processor_id(); | 255 | vt_list = &__get_cpu_var(virt_cpu_timer); |
| 257 | vt_list = &per_cpu(virt_cpu_timer, cpu); | ||
| 258 | 256 | ||
| 259 | /* walk timer list, fire all expired events */ | 257 | /* walk timer list, fire all expired events */ |
| 260 | spin_lock(&vt_list->lock); | 258 | spin_lock(&vt_list->lock); |
| @@ -534,7 +532,7 @@ void init_cpu_vtimer(void) | |||
| 534 | /* enable cpu timer interrupts */ | 532 | /* enable cpu timer interrupts */ |
| 535 | __ctl_set_bit(0,10); | 533 | __ctl_set_bit(0,10); |
| 536 | 534 | ||
| 537 | vt_list = &per_cpu(virt_cpu_timer, smp_processor_id()); | 535 | vt_list = &__get_cpu_var(virt_cpu_timer); |
| 538 | INIT_LIST_HEAD(&vt_list->list); | 536 | INIT_LIST_HEAD(&vt_list->list); |
| 539 | spin_lock_init(&vt_list->lock); | 537 | spin_lock_init(&vt_list->lock); |
| 540 | vt_list->to_expire = 0; | 538 | vt_list->to_expire = 0; |
