Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 229047
b: refs/heads/master
c: e677d0f
h: refs/heads/master
i:
  229045: 9efbdc7
  229043: 35eefe8
  229039: 0954967
v: v3
  • Loading branch information
Dave Chinner authored and Dave Chinner committed Dec 17, 2010
1 parent ae6d82d commit 75a7ab8
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 5 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 0e57f6a36f9be03e5abb755f524ee91c4aebe854
refs/heads/master: e677d0f9548e2245ee3c2977661ca8ca165af188
20 changes: 16 additions & 4 deletions trunk/fs/xfs/linux-2.6/xfs_super.c
Original file line number Diff line number Diff line change
Expand Up @@ -834,8 +834,11 @@ xfsaild_wakeup(
struct xfs_ail *ailp,
xfs_lsn_t threshold_lsn)
{
ailp->xa_target = threshold_lsn;
wake_up_process(ailp->xa_task);
/* only ever move the target forwards */
if (XFS_LSN_CMP(threshold_lsn, ailp->xa_target) > 0) {
ailp->xa_target = threshold_lsn;
wake_up_process(ailp->xa_task);
}
}

STATIC int
Expand All @@ -847,8 +850,17 @@ xfsaild(
long tout = 0; /* milliseconds */

while (!kthread_should_stop()) {
schedule_timeout_interruptible(tout ?
msecs_to_jiffies(tout) : MAX_SCHEDULE_TIMEOUT);
/*
* for short sleeps indicating congestion, don't allow us to
* get woken early. Otherwise all we do is bang on the AIL lock
* without making progress.
*/
if (tout && tout <= 20)
__set_current_state(TASK_KILLABLE);
else
__set_current_state(TASK_INTERRUPTIBLE);
schedule_timeout(tout ?
msecs_to_jiffies(tout) : MAX_SCHEDULE_TIMEOUT);

/* swsusp */
try_to_freeze();
Expand Down

0 comments on commit 75a7ab8

Please sign in to comment.