Kernel version: 4.4-rc, the kernels before are working fine. Reproducable: always. dmesg output: [ 101.428991] PM: Syncing filesystems ... done. [ 101.440624] PM: Preparing system for sleep (mem) [ 101.662377] Freezing user space processes ... (elapsed 0.001 seconds) done. [ 101.671201] Freezing remaining freezable tasks ... [ 121.681830] Freezing of tasks failed after 20.005 seconds (1 tasks refusing to freeze, wq_busy=0): [ 121.690842] xfsaild/dm-6 S ffff88083fd15000 0 4583 2 0x00000000 [ 121.697946] ffff880803cb7e10 ffff88081c34e800 ffff88081aa58d00 ffff88083fd15068 [ 121.705435] 0000000000000001 ffff880803cb8000 0000000000000000 0000000000000000 [ 121.712917] ffff8800b9450280 0000000000000000 ffff880803cb7ed0 ffffffff814b3891 [ 121.720397] Call Trace: [ 121.722864] [<ffffffff814b3891>] ? schedule+0x31/0x80 [ 121.728004] [<ffffffff8129c13c>] ? xfsaild+0x50c/0x5b0 [ 121.733229] [<ffffffff8129bc30>] ? xfs_trans_ail_cursor_first+0x80/0x80 [ 121.739926] [<ffffffff8129bc30>] ? xfs_trans_ail_cursor_first+0x80/0x80 [ 121.746632] [<ffffffff8106231d>] ? kthread+0xbd/0xe0 [ 121.751687] [<ffffffff81062260>] ? kthread_create_on_node+0x170/0x170 [ 121.758216] [<ffffffff814b6b1f>] ? ret_from_fork+0x3f/0x70 [ 121.763787] [<ffffffff81062260>] ? kthread_create_on_node+0x170/0x170 [ 121.771831] Restarting kernel threads ... done. [ 121.776686] Restarting tasks ... done. If you need more information, please let my know.
The xfsaild is already idle and not running - it won't run again until some activity in the filesystem wakes it up again. Hence the xfsaild will never call try_to_freeze() and be frozen by the freezer. This looks like a bug in the freezer algorithm, not XFS. Likely caused by this change in 4.4-rc1: commit 24ba16bb3d499c49974669cd8429c3e4138ab102 Author: Jiri Kosina <jkosina@suse.cz> Date: Mon Nov 2 13:46:58 2015 +1100 xfs: clear PF_NOFREEZE for xfsaild kthread Since xfsaild has been converted to kthread in 0030807c, it calls try_to_freeze() during every AIL push iteration. It however doesn't set itself as freezable, and therefore this try_to_freeze() will never do anything. Before (hopefully eventually) kthread freezing gets converted to fileystem freezing, we'd rather mark xfsaild freezable (as it can generate I/O during suspend). Signed-off-by: Jiri Kosina <jkosina@suse.cz> Reviewed-by: Brian Foster <bfoster@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com>