NVMe: within nvme_free_queues(), delete RCU sychro/deferred free
Converting from to blk-queue got rid of the driver's RCU locking-on-queue, so removing unnecessary RCU locking-on-queue artefacts. Reviewed-by: Keith Busch <keith.busch@intel.com> Signed-off-by: Kelly Nicole Kaoudis <kaoudis@colorado.edu> Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
parent
227290b469
commit
121c7ad4ef
1 changed files with 1 additions and 8 deletions
|
@ -1108,22 +1108,15 @@ static void nvme_free_queue(struct nvme_queue *nvmeq)
|
|||
|
||||
static void nvme_free_queues(struct nvme_dev *dev, int lowest)
|
||||
{
|
||||
LLIST_HEAD(q_list);
|
||||
struct nvme_queue *nvmeq, *next;
|
||||
struct llist_node *entry;
|
||||
int i;
|
||||
|
||||
for (i = dev->queue_count - 1; i >= lowest; i--) {
|
||||
struct nvme_queue *nvmeq = dev->queues[i];
|
||||
llist_add(&nvmeq->node, &q_list);
|
||||
dev->queue_count--;
|
||||
dev->queues[i] = NULL;
|
||||
}
|
||||
synchronize_rcu();
|
||||
entry = llist_del_all(&q_list);
|
||||
llist_for_each_entry_safe(nvmeq, next, entry, node)
|
||||
nvme_free_queue(nvmeq);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* nvme_suspend_queue - put queue into suspended state
|
||||
|
|
Loading…
Reference in a new issue