NVMe: Set TASK_INTERRUPTIBLE before processing queues
authorArjan van de Ven <arjan@linux.intel.com>
Wed, 1 May 2013 20:38:23 +0000 (16:38 -0400)
committerMatthew Wilcox <matthew.r.wilcox@intel.com>
Wed, 1 May 2013 20:40:27 +0000 (16:40 -0400)
commit564a232c059913d91b491e04c2b2d670b8f94615
treef0f83ea760a81c9c2d05d23f39af419fcf462f5b
parent5e82e952f04681c10f35e02ee0a4a43ec027137a
NVMe: Set TASK_INTERRUPTIBLE before processing queues

The kthread has two tasks; handling timeouts (for which it runs once per
second), and submitting queued BIOs.  If a BIO happens to be queued after
the thread has processed the queue but before it calls schedule_timeout(),
the thread will sleep for a second before submitting it, which can cause
performance problems in some rare cases (that will become more common in
a subsequent patch).

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Tested-by: Keith Busch <keith.busch@intel.com>
Signed-off-by: Matthew Wilcox <matthew.r.wilcox@intel.com>
drivers/block/nvme-core.c