git.openpandora.org
/
pandora-kernel.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
2c2c149
)
f2fs: avoid RECLAIM_FS-ON-W: deadlock
author
Jaegeuk Kim
<jaegeuk.kim@samsung.com>
Mon, 20 May 2013 07:15:22 +0000
(16:15 +0900)
committer
Jaegeuk Kim
<jaegeuk.kim@samsung.com>
Tue, 28 May 2013 06:03:03 +0000
(15:03 +0900)
This patch tries to avoid the following deadlock condition of which the reclaim
path can trigger f2fs_balance_fs again.
=================================
[ INFO: inconsistent lock state ]
---------------------------------
inconsistent {RECLAIM_FS-ON-W} -> {IN-RECLAIM_FS-W} usage.
kswapd0/41 [HC0[0]:SC0[0]:HE1:SE1] takes:
(&sbi->gc_mutex){+.+.?.}, at: f2fs_balance_fs+0xe6/0x100 [f2fs]
{RECLAIM_FS-ON-W} state was registered at:
[<
ffffffff810aa5a9
>] mark_held_locks+0xb9/0x140
[<
ffffffff810aae85
>] lockdep_trace_alloc+0x85/0xf0
[<
ffffffff8113ab2c
>] __alloc_pages_nodemask+0x7c/0x9b0
[<
ffffffff81175aa8
>] alloc_pages_current+0xb8/0x180
[<
ffffffff811319cf
>] __page_cache_alloc+0xaf/0xd0
[<
ffffffff8113225c
>] find_or_create_page+0x4c/0xb0
[<
ffffffffa021359e
>] find_data_page+0x14e/0x210 [f2fs]
[<
ffffffffa021161b
>] f2fs_gc+0x9eb/0xd90 [f2fs]
[<
ffffffffa0218fae
>] f2fs_balance_fs+0xee/0x100 [f2fs]
[<
ffffffffa020848c
>] f2fs_setattr+0x6c/0x200 [f2fs]
[<
ffffffff811ae51b
>] notify_change+0x1db/0x3a0
[<
ffffffff8118fbd0
>] do_truncate+0x60/0xa0
[<
ffffffff8118fd95
>] vfs_truncate+0x185/0x1b0
[<
ffffffff8118fe1c
>] do_sys_truncate+0x5c/0xa0
[<
ffffffff8118ffee
>] SyS_truncate+0xe/0x10
[<
ffffffff816e2b42
>] system_call_fastpath+0x16/0x1b
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
No differences found