mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 12:43:29 +02:00
block: remove the queue_lock indirection
With the legacy request path gone there is no good reason to keep queue_lock as a pointer, we can always use the embedded lock now. Reviewed-by: Hannes Reinecke <hare@suse.com> Signed-off-by: Christoph Hellwig <hch@lst.de> Fixed floppy and blk-cgroup missing conversions and half done edits. Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
committed by
Jens Axboe
parent
6d46964230
commit
0d945c1f96
@@ -110,9 +110,9 @@ static void ioc_release_fn(struct work_struct *work)
|
||||
struct io_cq, ioc_node);
|
||||
struct request_queue *q = icq->q;
|
||||
|
||||
if (spin_trylock(q->queue_lock)) {
|
||||
if (spin_trylock(&q->queue_lock)) {
|
||||
ioc_destroy_icq(icq);
|
||||
spin_unlock(q->queue_lock);
|
||||
spin_unlock(&q->queue_lock);
|
||||
} else {
|
||||
spin_unlock_irqrestore(&ioc->lock, flags);
|
||||
cpu_relax();
|
||||
@@ -233,9 +233,9 @@ void ioc_clear_queue(struct request_queue *q)
|
||||
{
|
||||
LIST_HEAD(icq_list);
|
||||
|
||||
spin_lock_irq(q->queue_lock);
|
||||
spin_lock_irq(&q->queue_lock);
|
||||
list_splice_init(&q->icq_list, &icq_list);
|
||||
spin_unlock_irq(q->queue_lock);
|
||||
spin_unlock_irq(&q->queue_lock);
|
||||
|
||||
__ioc_clear_queue(&icq_list);
|
||||
}
|
||||
@@ -326,7 +326,7 @@ struct io_cq *ioc_lookup_icq(struct io_context *ioc, struct request_queue *q)
|
||||
{
|
||||
struct io_cq *icq;
|
||||
|
||||
lockdep_assert_held(q->queue_lock);
|
||||
lockdep_assert_held(&q->queue_lock);
|
||||
|
||||
/*
|
||||
* icq's are indexed from @ioc using radix tree and hint pointer,
|
||||
@@ -385,7 +385,7 @@ struct io_cq *ioc_create_icq(struct io_context *ioc, struct request_queue *q,
|
||||
INIT_HLIST_NODE(&icq->ioc_node);
|
||||
|
||||
/* lock both q and ioc and try to link @icq */
|
||||
spin_lock_irq(q->queue_lock);
|
||||
spin_lock_irq(&q->queue_lock);
|
||||
spin_lock(&ioc->lock);
|
||||
|
||||
if (likely(!radix_tree_insert(&ioc->icq_tree, q->id, icq))) {
|
||||
@@ -401,7 +401,7 @@ struct io_cq *ioc_create_icq(struct io_context *ioc, struct request_queue *q,
|
||||
}
|
||||
|
||||
spin_unlock(&ioc->lock);
|
||||
spin_unlock_irq(q->queue_lock);
|
||||
spin_unlock_irq(&q->queue_lock);
|
||||
radix_tree_preload_end();
|
||||
return icq;
|
||||
}
|
||||
|
Reference in New Issue
Block a user