nvme: remove cq check after submission
Jens Axboe
maintainerPATCH 1/1 nvme: remove cq check after submission
We always check the completion queue after submitting, but in my testing this isn't a win even on DRAM/xpoint devices. In some cases it's actually worse. Kill it.
drivers/nvme/host/pci.c +0 -2
@@ -68,7 +68,6 @@ MODULE_PARM_DESC(io_queue_depth, "set io queue depth, should >= 2");struct nvme_dev ;struct nvme_queue ; -static void nvme_process_cq (struct nvme_queue *nvmeq);static void nvme_dev_disable (struct nvme_dev *dev,bool shutdown);/*
@@ -895,7 +894,6 @@ static blk_status_t nvme_queue_rq(struct blk_mq_hw_ctx *hctx, goto out_cleanup_iod; }__nvme_submit_cmd (nvmeq, &cmnd); -nvme_process_cq (nvmeq);spin_unlock_irq (&nvmeq->q_lock);return BLK_STS_OK ; out_cleanup_iod:
Signature · 1 line
Jens Axboe
PATCH 1/1 nvme: remove cq check after submission
Quoted 3 lines · Jens Axboe
We always check the completion queue after submitting, but in my testing this isn't a win even on DRAM/xpoint devices. In some cases it's actually worse. Kill it.
Right, this was on my todo list. Agreed it's not helping anything. Applied to nvme-4.18.
PATCH 1/1 nvme: remove cq check after submission
Quoted 7 lines · Keith Busch
Quoted 3 lines · Jens Axboe
We always check the completion queue after submitting, but in my testing this isn't a win even on DRAM/xpoint devices. In some cases it's actually worse. Kill it.
Right, this was on my todo list. Agreed it's not helping anything. Applied to nvme-4.18.
While I agree in general didn't we have a case where this caused a regression last time it came up? Not that I'd complain if it goes away..
But more importantly we could split q_lock into a sq_lock and cq_lock now, which might bring real benefits.
Jens Axboe
maintainerPATCH 1/1 nvme: remove cq check after submission
Quoted 6 lines · Christoph Hellwig
Quoted 5 lines · Keith Busch
Quoted 3 lines · Jens Axboe
We always check the completion queue after submitting, but in my testing this isn't a win even on DRAM/xpoint devices. In some cases it's actually worse. Kill it.
Quoted 6 lines
Quoted 2 lines
Right, this was on my todo list. Agreed it's not helping anything. Applied to nvme-4.18.
While I agree in general didn't we have a case where this caused a regression last time it came up? Not that I'd complain if it goes away..
Not that I'm aware of. I've been running with this patch for quite a while, while doing some work on polling.
Quoted 2 lines
But more importantly we could split
q_lockinto asq_lockandcq_locknow, which might bring real benefits.
Exactly, especially on queue starved setups.
Signature · 1 line
Jens Axboe
PATCH 1/1 nvme: remove cq check after submission
Quoted 10 lines · Jens Axboe
Quoted 9 lines · Christoph Hellwig
Quoted 7 lines · Keith Busch
Quoted 3 lines · Jens Axboe
We always check the completion queue after submitting, but in my testing this isn't a win even on DRAM/xpoint devices. In some cases it's actually worse. Kill it.
Right, this was on my todo list. Agreed it's not helping anything. Applied to nvme-4.18.
Quoted 6 lines
Quoted 3 lines
While I agree in general didn't we have a case where this caused a regression last time it came up? Not that I'd complain if it goes away..
Not that I'm aware of. I've been running with this patch for quite a while, while doing some work on polling.
Yah, I mentioned a few months back there appeared to be a problem with removing this, but I was mistaken. I just didn't get back around to doing this.