https://bugzilla.kernel.org/show_bug.cgi?id=220321
Bug ID: 220321
Summary: F2FS: workqueue: WQ_MEM_RECLAIM writeback:wb_workfn is
flushing !WQ_MEM_RECLAIM
events_unbound:quota_release_workfn
Product: File System
Version: 2.5
Hardware: ARM
OS: Linux
Status: NEW
Severity: normal
Priority: P3
Component: f2fs
Assignee: [email protected]
Reporter: [email protected]
Regression: No
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/fs/f2fs/super.c?h=v6.12.36
The panic_on_warn occurred using UFS device test app with high probability.
Occurs when putting the 'quota_release_work' into the workqueue.
The 'quota_release_work' uses 'system_unbound_wq', but WQ_MEM_RECLAIM flag is
not used when creating.
Therefore, before adding the 'quota_release_work' to the work queue, check the
previously operated work queue, which seems to have been created using the
WQ_MEM_RECLAIM flag.
Previouse work queue is 'writeback:wb_workfn'.
So occurred below the problem.
When using a work queue, it seems like you should use a work queue with
'WQ_MEM_RECLAIM' instead of system_unbound_wq.
[6: kworker/u40:2: 7357] ------------[ cut here ]------------
[6: kworker/u40:2: 7357] workqueue: WQ_MEM_RECLAIM writeback:wb_workfn is
flushing !WQ_MEM_RECLAIM events_unbound:quota_release_workfn
[6: kworker/u40:2: 7357] WARNING: CPU: 6 PID: 7357 at kernel/workqueue.c:3721
check_flush_dependency+0x160/0x16c
[6: kworker/u40:2: 7357] Workqueue: writeback wb_workfn (flush-8:0)
[6: kworker/u40:2: 7357] pstate: 634020c5 (nZCv daIF +PAN -UAO +TCO +DIT -SSBS
BTYPE=--)
[6: kworker/u40:2: 7357] pc : check_flush_dependency+0x160/0x16c
[6: kworker/u40:2: 7357] lr : check_flush_dependency+0x160/0x16c
[6: kworker/u40:2: 7357] sp : ffffffc0aa746b40
[6: kworker/u40:2: 7357] x29: ffffffc0aa746b40 x28: 18ffff882b081000 x27:
0000000000000000
[6: kworker/u40:2: 7357] x26: caffff88280841a0 x25: 3bffff8801860900 x24:
0000000000000000
[6: kworker/u40:2: 7357] x23: b7ffff880185a000 x22: 84ffff8805128400 x21:
ffffffd01051b04c
[6: kworker/u40:2: 7357] x20: 83ffff8064571840 x19: beffff8800033400 x18:
ffffffd012b19dc0
[6: kworker/u40:2: 7357] x17: 454d5f5157212067 x16: 6e696873756c6620 x15:
51572120676e6968
[6: kworker/u40:2: 7357] x14: 73756c6620736920 x13: 65725f61746f7571 x12:
3a646e756f626e75
[6: kworker/u40:2: 7357] x11: 000000000000009c x10: ffffffc0aa746ad0 x9 :
9511e74e66c49200
[6: kworker/u40:2: 7357] x8 : 9511e74e66c49200 x7 : ffffffffffffffff x6 :
ffffffd0117ee30c
[6: kworker/u40:2: 7357] x5 : 0000000000000000 x4 : 0000000000000001 x3 :
0000000000000000
[6: kworker/u40:2: 7357] x2 : 0000000000000002 x1 : 00000000000000ff x0 :
ffffffbc0aa746ab
[6: kworker/u40:2: 7357] Call trace:
[6: kworker/u40:2: 7357] check_flush_dependency+0x160/0x16c
[6: kworker/u40:2: 7357] __flush_work+0x168/0x738
[6: kworker/u40:2: 7357] flush_delayed_work+0x58/0x70
[6: kworker/u40:2: 7357] dquot_writeback_dquots+0x90/0x4bc
[6: kworker/u40:2: 7357] f2fs_do_quota_sync+0x120/0x284
[6: kworker/u40:2: 7357] f2fs_write_checkpoint+0x58c/0xe18
[6: kworker/u40:2: 7357] f2fs_gc+0x3e8/0xd78
[6: kworker/u40:2: 7357] f2fs_balance_fs+0x204/0x284
[6: kworker/u40:2: 7357] f2fs_write_single_data_page+0x700/0xaf0
[6: kworker/u40:2: 7357] f2fs_write_data_pages+0xe94/0x15bc
[6: kworker/u40:2: 7357] do_writepages+0x170/0x3f8
[6: kworker/u40:2: 7357] __writeback_single_inode+0xa0/0x8c4
[6: kworker/u40:2: 7357] writeback_sb_inodes+0x2ac/0x708
[6: kworker/u40:2: 7357] __writeback_inodes_wb+0xc0/0x118
[6: kworker/u40:2: 7357] wb_writeback+0x1f4/0x664
[6: kworker/u40:2: 7357] wb_workfn+0x62c/0x900
[6: kworker/u40:2: 7357] process_one_work+0x3f8/0x968
[6: kworker/u40:2: 7357] worker_thread+0x610/0x794
[6: kworker/u40:2: 7357] kthread+0x1c4/0x1e4
[6: kworker/u40:2: 7357] ret_from_fork+0x10/0x20
[6: kworker/u40:2: 7357] Kernel panic - not syncing: kernel: panic_on_warn set
...
--
You may reply to this email to add a comment.
You are receiving this mail because:
You are watching the assignee of the bug.
_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel