NVMe: Remove the kthread from the wait queue

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>
diff --git a/drivers/block/nvme.c b/drivers/block/nvme.c
index cf89db8..8d3c0b7 100644
--- a/drivers/block/nvme.c
+++ b/drivers/block/nvme.c
@@ -1162,6 +1162,9 @@
 			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);
 	}
 }