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: filesystem_f...@kernel-bugs.kernel.org
          Reporter: hy50....@samsung.com
        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
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to