summaryrefslogtreecommitdiffstats
path: root/fs/xfs/linux-2.6
diff options
context:
space:
mode:
authorDave Chinner2010-01-11 12:49:58 +0100
committerAlex Elder2010-01-15 22:32:46 +0100
commit453eac8a9aa417878a38bdfbccafd5f7ce4e8e4e (patch)
tree252e37d5b29693cc73fc1ce890c9b303d45e6efa /fs/xfs/linux-2.6
parentxfs: Use list_heads for log recovery item lists (diff)
downloadkernel-qcow2-linux-453eac8a9aa417878a38bdfbccafd5f7ce4e8e4e.tar.gz
kernel-qcow2-linux-453eac8a9aa417878a38bdfbccafd5f7ce4e8e4e.tar.xz
kernel-qcow2-linux-453eac8a9aa417878a38bdfbccafd5f7ce4e8e4e.zip
xfs: Don't wake the aild once per second
Now that the AIL push algorithm is traversal safe, we don't need a watchdog function in the xfsaild to catch pushes that fail to make progress. Remove the watchdog timeout and make pushes purely driven by demand. This will remove the once-per-second wakeup that is seen when the filesystem is idle and make laptop power misers happy. Signed-off-by: Dave Chinner <david@fromorbit.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Alex Elder <aelder@sgi.com>
Diffstat (limited to 'fs/xfs/linux-2.6')
-rw-r--r--fs/xfs/linux-2.6/xfs_super.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/fs/xfs/linux-2.6/xfs_super.c b/fs/xfs/linux-2.6/xfs_super.c
index 77414db10dc2..9f2e398a5616 100644
--- a/fs/xfs/linux-2.6/xfs_super.c
+++ b/fs/xfs/linux-2.6/xfs_super.c
@@ -877,12 +877,11 @@ xfsaild(
{
struct xfs_ail *ailp = data;
xfs_lsn_t last_pushed_lsn = 0;
- long tout = 0;
+ long tout = 0; /* milliseconds */
while (!kthread_should_stop()) {
- if (tout)
- schedule_timeout_interruptible(msecs_to_jiffies(tout));
- tout = 1000;
+ schedule_timeout_interruptible(tout ?
+ msecs_to_jiffies(tout) : MAX_SCHEDULE_TIMEOUT);
/* swsusp */
try_to_freeze();