aboutsummaryrefslogtreecommitdiffstats
path: root/lib/percpu-refcount.c
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2014-09-24 13:07:33 -0400
committerTejun Heo <tj@kernel.org>2014-09-24 13:07:33 -0400
commit9eca80461a45177e456219a9cd944c27675d6512 (patch)
tree88652d4a20e98ba2bc503e110edf45c94a3f6699 /lib/percpu-refcount.c
parentd06efebf0c37d438fcf07057be00dd40fcfce08d (diff)
Revert "blk-mq, percpu_ref: implement a kludge for SCSI blk-mq stall during probe"
This reverts commit 0a30288da1aec914e158c2d7a3482a85f632750f, which was a temporary fix for SCSI blk-mq stall issue. The following patches will fix the issue properly by introducing atomic mode to percpu_ref. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Kent Overstreet <kmo@daterainc.com> Cc: Jens Axboe <axboe@kernel.dk> Cc: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'lib/percpu-refcount.c')
-rw-r--r--lib/percpu-refcount.c16
1 files changed, 0 insertions, 16 deletions
diff --git a/lib/percpu-refcount.c b/lib/percpu-refcount.c
index c6c31e2829b1..559ee0b20318 100644
--- a/lib/percpu-refcount.c
+++ b/lib/percpu-refcount.c
@@ -189,19 +189,3 @@ void percpu_ref_kill_and_confirm(struct percpu_ref *ref,
189 call_rcu_sched(&ref->rcu, percpu_ref_kill_rcu); 189 call_rcu_sched(&ref->rcu, percpu_ref_kill_rcu);
190} 190}
191EXPORT_SYMBOL_GPL(percpu_ref_kill_and_confirm); 191EXPORT_SYMBOL_GPL(percpu_ref_kill_and_confirm);
192
193/*
194 * XXX: Temporary kludge to work around SCSI blk-mq stall. Used only by
195 * block/blk-mq.c::blk_mq_freeze_queue(). Will be removed during v3.18
196 * devel cycle. Do not use anywhere else.
197 */
198void __percpu_ref_kill_expedited(struct percpu_ref *ref)
199{
200 WARN_ONCE(ref->pcpu_count_ptr & PCPU_REF_DEAD,
201 "percpu_ref_kill() called more than once on %pf!",
202 ref->release);
203
204 ref->pcpu_count_ptr |= PCPU_REF_DEAD;
205 synchronize_sched_expedited();
206 percpu_ref_kill_rcu(&ref->rcu);
207}