NVMe: Remove the kthread from the wait queue
authorMatthew Wilcox <matthew.r.wilcox@intel.com>
Wed, 16 Mar 2011 20:45:49 +0000 (16:45 -0400)
committerMatthew Wilcox <matthew.r.wilcox@intel.com>
Fri, 4 Nov 2011 19:53:00 +0000 (15:53 -0400)
Once there are no more bios on the congestion list, we can stop waking
up the nvme kthread every time a completion happens.

Signed-off-by: Matthew Wilcox <matthew.r.wilcox@intel.com>
drivers/block/nvme.c

index cf89db8c41eecdedee5a498eb1d72b5a22578f5b..8d3c0b79ac2b0545c0fef775cd0e35af055e8f1e 100644 (file)
@@ -1162,6 +1162,9 @@ static void nvme_resubmit_bios(struct nvme_queue *nvmeq)
                        bio_list_add_head(&nvmeq->sq_cong, bio);
                        break;
                }
+               if (bio_list_empty(&nvmeq->sq_cong))
+                       remove_wait_queue(&nvmeq->sq_full,
+                                                       &nvmeq->sq_cong_wait);
        }
 }