Skip to content

Commit 121c7ad

Browse files
kaoudisaxboe
authored andcommitted
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>
1 parent 227290b commit 121c7ad

File tree

1 file changed

+1
-8
lines changed

1 file changed

+1
-8
lines changed

drivers/block/nvme-core.c

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1108,21 +1108,14 @@ static void nvme_free_queue(struct nvme_queue *nvmeq)
11081108

11091109
static void nvme_free_queues(struct nvme_dev *dev, int lowest)
11101110
{
1111-
LLIST_HEAD(q_list);
1112-
struct nvme_queue *nvmeq, *next;
1113-
struct llist_node *entry;
11141111
int i;
11151112

11161113
for (i = dev->queue_count - 1; i >= lowest; i--) {
11171114
struct nvme_queue *nvmeq = dev->queues[i];
1118-
llist_add(&nvmeq->node, &q_list);
11191115
dev->queue_count--;
11201116
dev->queues[i] = NULL;
1121-
}
1122-
synchronize_rcu();
1123-
entry = llist_del_all(&q_list);
1124-
llist_for_each_entry_safe(nvmeq, next, entry, node)
11251117
nvme_free_queue(nvmeq);
1118+
}
11261119
}
11271120

11281121
/**

0 commit comments

Comments
 (0)