* Possible additional memory usage from rescuer threads.
[Other Info]
* Anything else you think is useful to include
* Anticipate questions from users, SRU, +1 maintenance, security teams and the Technical Board
* and address these questions in advance
[Impact]
* An XFS Deadlock situation is possible on 4.2..4.4rc1^ and newer kernels.
* Hung tasks have stack traces similar to kernel/ hung_task_ timeout_ secs" disables this message. a77>] schedule+0x37/0x80 05b>] xlog_state_ get_iclog_ space+0xdb/ 0x2d0 [xfs] 6c0>] ? wake_up_q+0x80/0x80 501>] xlog_write+ 0x191/0x6a0 [xfs] 478>] ? prandom_ u32+0x18/ 0x20 e49>] xlog_cil_ push+0x1f9/ 0x3b0 [xfs] 015>] xlog_cil_ push_work+ 0x15/0x20 [xfs] 4ce>] process_ one_work+ 0x14e/0x3d0 b7a>] worker_ thread+ 0x11a/0x470 a60>] ? rescuer_ thread+ 0x310/0x310 112>] kthread+0xd2/0xf0 040>] ? kthread_ create_ on_node+ 0x1c0/0x1c0 71f>] ret_from_ fork+0x3f/ 0x70 040>] ? kthread_ create_ on_node+ 0x1c0/0x1c0
[ 4559.110607] INFO: task kworker/1:0:17 blocked for more than 120 seconds.
[ 4559.143010] Not tainted 4.2.0-18-generic #22~14.04.1-Ubuntu
[ 4559.171972] "echo 0 > /proc/sys/
[ 4559.209753] kworker/1:0 D 0000000000000000 0 17 2 0x00000000
[ 4559.209791] Workqueue: xfs-cil/sdac1 xlog_cil_push_work [xfs]
[ 4559.209794] ffff88085be9fbb8 0000000000000046 ffff88085b746040 ffff88085be8a940
[ 4559.209795] 0000000000000000 ffff88085bea0000 ffff880107fddcc0 ffff88085be8a940
[ 4559.209797] ffff880859119c00 ffff880859119d00 ffff88085be9fbd8 ffffffff817b6a77
[ 4559.209798] Call Trace:
[ 4559.209806] [<ffffffff817b6
[ 4559.209817] [<ffffffffc03c1
[ 4559.209822] [<ffffffff810a0
[ 4559.209832] [<ffffffffc03c1
[ 4559.209835] [<ffffffff813b4
[ 4559.209845] [<ffffffffc03c2
[ 4559.209854] [<ffffffffc03c3
[ 4559.209857] [<ffffffff8108f
[ 4559.209858] [<ffffffff8108f
[ 4559.209860] [<ffffffff8108f
[ 4559.209862] [<ffffffff81095
[ 4559.209863] [<ffffffff81095
[ 4559.209865] [<ffffffff817ba
[ 4559.209866] [<ffffffff81095
or
[305651.804853] INFO: task kswapd0:194 blocked for more than 120 seconds. kernel/ hung_task_ timeout_ secs" disables this message. a77>] schedule+0x37/0x80 f6c>] _xfs_log_ force_lsn+ 0x15c/0x2d0 [xfs] 6c0>] ? wake_up_q+0x80/0x80 10e>] xfs_log_ force_lsn+ 0x2e/0x80 [xfs] ff9>] ? xfs_iunpin_ wait+0x19/ 0x20 [xfs] a3d>] __xfs_iunpin_ wait+0x8d/ 0x120 [xfs] 380>] ? autoremove_ wake_function+ 0x40/0x40 ff9>] xfs_iunpin_ wait+0x19/ 0x20 [xfs] 665>] xfs_reclaim_ inode+0x125/ 0x330 [xfs] ab8>] xfs_reclaim_ inodes_ ag+0x248/ 0x360 [xfs] 11c>] ? destroy_ inode+0x3c/ 0x60 573>] xfs_reclaim_ inodes_ nr+0x33/ 0x40 [xfs] 5e9>] xfs_fs_ free_cached_ objects+ 0x19/0x20 [xfs] 2a1>] super_cache_ scan+0x181/ 0x190 0e6>] shrink_ slab+0x206/ 0x380 7a1>] shrink_ zone+0x291/ 0x2b0 710>] kswapd+0x500/0x9b0 210>] ? mem_cgroup_ shrink_ node_zone+ 0x130/0x130 112>] kthread+0xd2/0xf0 040>] ? kthread_ create_ on_node+ 0x1c0/0x1c0 71f>] ret_from_ fork+0x3f/ 0x70 040>] ? kthread_ create_ on_node+ 0x1c0/0x1c0
[305651.836092] Not tainted 4.2.0-18-generic #22~14.04.1-Ubuntu
[305651.865655] "echo 0 > /proc/sys/
[305651.903596] kswapd0 D ffff88085fa96640 0 194 2 0x00000000
[305651.903614] ffff8810591ab858 0000000000000046 ffff88085c2c2940 ffff88105b19a940
[305651.903616] ffff880066c64548 ffff8810591ac000 ffff8808599cae18 0000000000000000
[305651.903618] ffff88105b19a940 ffff88085a2cb000 ffff8810591ab878 ffffffff817b6a77
[305651.903620] Call Trace:
[305651.903629] [<ffffffff817b6
[305651.903655] [<ffffffffc0402
[305651.903662] [<ffffffff810a0
[305651.903675] [<ffffffffc0403
[305651.903687] [<ffffffffc03f5
[305651.903698] [<ffffffffc03f2
[305651.903701] [<ffffffff810b7
[305651.903711] [<ffffffffc03f5
[305651.903721] [<ffffffffc03eb
[305651.903732] [<ffffffffc03eb
[305651.903735] [<ffffffff81205
[305651.903744] [<ffffffffc03ec
[305651.903755] [<ffffffffc03fa
[305651.903758] [<ffffffff811ee
[305651.903761] [<ffffffff81187
[305651.903763] [<ffffffff8118b
[305651.903764] [<ffffffff8118c
[305651.903766] [<ffffffff8118c
[305651.903768] [<ffffffff81095
[305651.903770] [<ffffffff81095
[305651.903772] [<ffffffff817ba
[305651.903774] [<ffffffff81095
[Test Case]
* Large numbers of IO tasks to large numbers of XFS fileystems while under memory pressure. Testcase may not be guaranteed.
[Regression Potential]
* Upstream commit /git.kernel. org/cgit/ linux/kernel/ git/torvalds/ linux.git/ commit/ ?id=7a29ac474a4 7eb8cf212b45917 683ae89d6fa13b
https:/
- This commit allocates rescuer threads for each of the XFS work queues.
* Possible additional memory usage from rescuer threads.
[Other Info]
* Anything else you think is useful to include
* Anticipate questions from users, SRU, +1 maintenance, security teams and the Technical Board
* and address these questions in advance