diff options
author | Dave Chinner <david@fromorbit.com> | 2010-01-11 11:49:58 +0000 |
---|---|---|
committer | Alex Elder <aelder@sgi.com> | 2010-01-15 15:32:46 -0600 |
commit | 453eac8a9aa417878a38bdfbccafd5f7ce4e8e4e (patch) | |
tree | 252e37d5b29693cc73fc1ce890c9b303d45e6efa /fs/xfs/linux-2.6/xfs_super.c | |
parent | f0a7695380efa31cd281730917f7e907a724d5cb (diff) | |
download | blackbird-op-linux-453eac8a9aa417878a38bdfbccafd5f7ce4e8e4e.tar.gz blackbird-op-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/xfs_super.c')
-rw-r--r-- | fs/xfs/linux-2.6/xfs_super.c | 7 |
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(); |