summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArjan van de Ven2013-02-04 23:44:33 +0100
committerMatthew Wilcox2013-04-16 21:05:16 +0200
commitacb7aa0db09b8abd38abeb84334a8a27a52fbb1b (patch)
tree934ba0814d0c5c733e90587e7a985102932f25c8
parentNVMe: Add nvme-scsi.c (diff)
downloadkernel-qcow2-linux-acb7aa0db09b8abd38abeb84334a8a27a52fbb1b.tar.gz
kernel-qcow2-linux-acb7aa0db09b8abd38abeb84334a8a27a52fbb1b.tar.xz
kernel-qcow2-linux-acb7aa0db09b8abd38abeb84334a8a27a52fbb1b.zip
NVMe: Use round_jiffies_relative() for the periodic, once-per-second timer
The nvme driver has a "once per second" event where the management kthread wakes up the system and then reschedules itself for 1 second later. For power efficiency reasons, I'd like this timer to happen together with other wakeups in the system. This patch makes the schedule_timeout() call in the kthread use round_jiffies_relative(), causing the wakeup to at least align with other "once per X seconds" events in the kernel. 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>
-rw-r--r--drivers/block/nvme-core.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/block/nvme-core.c b/drivers/block/nvme-core.c
index a89f7dbefba0..32fdfe9a5156 100644
--- a/drivers/block/nvme-core.c
+++ b/drivers/block/nvme-core.c
@@ -1309,7 +1309,7 @@ static int nvme_kthread(void *data)
}
spin_unlock(&dev_list_lock);
set_current_state(TASK_INTERRUPTIBLE);
- schedule_timeout(HZ);
+ schedule_timeout(round_jiffies_relative(HZ));
}
return 0;
}