diff options
author | Guoju Fang <[email protected]> | 2018-09-27 23:41:46 +0800 |
---|---|---|
committer | Jens Axboe <[email protected]> | 2018-09-27 09:47:01 -0600 |
commit | 0f843e65d9eef4936929bb036c5f771fb261eea4 (patch) | |
tree | b02f7ba31960169e8789a54b3c546d50834b0da9 /scripts/gdb/vmlinux-gdb.py | |
parent | f151ba989d149bbdfc90e5405724bbea094f9b17 (diff) |
bcache: add separate workqueue for journal_write to avoid deadlock
After write SSD completed, bcache schedules journal_write work to
system_wq, which is a public workqueue in system, without WQ_MEM_RECLAIM
flag. system_wq is also a bound wq, and there may be no idle kworker on
current processor. Creating a new kworker may unfortunately need to
reclaim memory first, by shrinking cache and slab used by vfs, which
depends on bcache device. That's a deadlock.
This patch create a new workqueue for journal_write with WQ_MEM_RECLAIM
flag. It's rescuer thread will work to avoid the deadlock.
Signed-off-by: Guoju Fang <[email protected]>
Cc: [email protected]
Signed-off-by: Coly Li <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
Diffstat (limited to 'scripts/gdb/vmlinux-gdb.py')
0 files changed, 0 insertions, 0 deletions