diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2014-09-22 08:45:11 -0400 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2014-09-25 04:52:10 -0400 |
commit | 2684e73a861fe7b2ab763f442207025a1d9bb6a6 (patch) | |
tree | 36a5933a0a696425772f1a644f3223c88aca060f /arch/s390/lib/spinlock.c | |
parent | 6a5c1482e2b700e89f174ddb42434b37f15abccd (diff) |
s390/rwlock: remove interrupt-enabling rwlock variant.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/lib/spinlock.c')
-rw-r--r-- | arch/s390/lib/spinlock.c | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/arch/s390/lib/spinlock.c b/arch/s390/lib/spinlock.c index 5f63ac5783cb..c717f4a4c63e 100644 --- a/arch/s390/lib/spinlock.c +++ b/arch/s390/lib/spinlock.c | |||
@@ -131,31 +131,6 @@ void _raw_read_lock_wait(arch_rwlock_t *rw) | |||
131 | } | 131 | } |
132 | EXPORT_SYMBOL(_raw_read_lock_wait); | 132 | EXPORT_SYMBOL(_raw_read_lock_wait); |
133 | 133 | ||
134 | void _raw_read_lock_wait_flags(arch_rwlock_t *rw, unsigned long flags) | ||
135 | { | ||
136 | unsigned int owner, old; | ||
137 | int count = spin_retry; | ||
138 | |||
139 | local_irq_restore(flags); | ||
140 | owner = 0; | ||
141 | while (1) { | ||
142 | if (count-- <= 0) { | ||
143 | if (owner && !smp_vcpu_scheduled(~owner)) | ||
144 | smp_yield_cpu(~owner); | ||
145 | count = spin_retry; | ||
146 | } | ||
147 | old = ACCESS_ONCE(rw->lock); | ||
148 | owner = ACCESS_ONCE(rw->owner); | ||
149 | if ((int) old < 0) | ||
150 | continue; | ||
151 | local_irq_disable(); | ||
152 | if (_raw_compare_and_swap(&rw->lock, old, old + 1)) | ||
153 | return; | ||
154 | local_irq_restore(flags); | ||
155 | } | ||
156 | } | ||
157 | EXPORT_SYMBOL(_raw_read_lock_wait_flags); | ||
158 | |||
159 | int _raw_read_trylock_retry(arch_rwlock_t *rw) | 134 | int _raw_read_trylock_retry(arch_rwlock_t *rw) |
160 | { | 135 | { |
161 | unsigned int old; | 136 | unsigned int old; |
@@ -194,31 +169,6 @@ void _raw_write_lock_wait(arch_rwlock_t *rw) | |||
194 | } | 169 | } |
195 | EXPORT_SYMBOL(_raw_write_lock_wait); | 170 | EXPORT_SYMBOL(_raw_write_lock_wait); |
196 | 171 | ||
197 | void _raw_write_lock_wait_flags(arch_rwlock_t *rw, unsigned long flags) | ||
198 | { | ||
199 | unsigned int owner, old; | ||
200 | int count = spin_retry; | ||
201 | |||
202 | local_irq_restore(flags); | ||
203 | owner = 0; | ||
204 | while (1) { | ||
205 | if (count-- <= 0) { | ||
206 | if (owner && !smp_vcpu_scheduled(~owner)) | ||
207 | smp_yield_cpu(~owner); | ||
208 | count = spin_retry; | ||
209 | } | ||
210 | old = ACCESS_ONCE(rw->lock); | ||
211 | owner = ACCESS_ONCE(rw->owner); | ||
212 | if (old) | ||
213 | continue; | ||
214 | local_irq_disable(); | ||
215 | if (_raw_compare_and_swap(&rw->lock, 0, 0x80000000)) | ||
216 | return; | ||
217 | local_irq_restore(flags); | ||
218 | } | ||
219 | } | ||
220 | EXPORT_SYMBOL(_raw_write_lock_wait_flags); | ||
221 | |||
222 | int _raw_write_trylock_retry(arch_rwlock_t *rw) | 172 | int _raw_write_trylock_retry(arch_rwlock_t *rw) |
223 | { | 173 | { |
224 | unsigned int old; | 174 | unsigned int old; |