diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2024-08-17 09:51:28 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2024-08-17 09:51:28 -0700 |
| commit | d09840f8b362d16a0722d300a6c7c8cca626e628 (patch) | |
| tree | 58bbfc06fb553f02baf68c15d9bbddbab5bb94bb /fs/xfs/xfs_trans_ail.c | |
| parent | b71817585383d96ddc51ebd126f6253fdb9a8568 (diff) | |
| parent | 8d16762047c627073955b7ed171a36addaf7b1ff (diff) | |
| download | linux-d09840f8b362d16a0722d300a6c7c8cca626e628.tar.gz linux-d09840f8b362d16a0722d300a6c7c8cca626e628.tar.bz2 linux-d09840f8b362d16a0722d300a6c7c8cca626e628.zip | |
Merge tag 'xfs-6.11-fixes-3' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux
Pull xfs fixes from Chandan Babu:
- Check for presence of only 'attr' feature before scrubbing an inode's
attribute fork.
- Restore the behaviour of setting AIL thread to TASK_INTERRUPTIBLE for
long (i.e. 50ms) sleep durations to prevent high load averages.
- Do not allow users to change the realtime flag of a file unless the
datadev and rtdev both support fsdax access modes.
* tag 'xfs-6.11-fixes-3' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
xfs: conditionally allow FS_XFLAG_REALTIME changes if S_DAX is set
xfs: revert AIL TASK_KILLABLE threshold
xfs: attr forks require attr, not attr2
Diffstat (limited to 'fs/xfs/xfs_trans_ail.c')
| -rw-r--r-- | fs/xfs/xfs_trans_ail.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/fs/xfs/xfs_trans_ail.c b/fs/xfs/xfs_trans_ail.c index 0fafcc9f3dbe..8ede9d099d1f 100644 --- a/fs/xfs/xfs_trans_ail.c +++ b/fs/xfs/xfs_trans_ail.c @@ -644,7 +644,12 @@ xfsaild( set_freezable(); while (1) { - if (tout) + /* + * Long waits of 50ms or more occur when we've run out of items + * to push, so we only want uninterruptible state if we're + * actually blocked on something. + */ + if (tout && tout <= 20) set_current_state(TASK_KILLABLE|TASK_FREEZABLE); else set_current_state(TASK_INTERRUPTIBLE|TASK_FREEZABLE); |
