On 8/8/19 8:01 AM, Mikulas Patocka wrote:
Note that the patch bd293d071ffe doesn't really prevent the deadlock from
occuring - if we look at the stacktrace reported by Junxiao Bi, we see
that it hangs in bit_wait_io and not on the mutex - i.e. it has already
successfully taken the mutex
Hi Mikulas,
This seemed not issue on mainline, mutex in dm_bufio_shrink_count() had
been removed from mainline.
Thanks,
Junxiao.
On 8/8/19 2:50 AM, Mikulas Patocka wrote:
A deadlock with this stacktrace was observed.
The obvious problem here is that in the call chain
On 7/10/19 10:48 AM, Mike Snitzer wrote:
On Tue, Jul 09 2019 at 8:17pm -0400,
Junxiao Bi wrote:
When thin-volume was built on loop device, if available memory is low,
the following deadlock can be triggered.
One process P1 was allocating memory with GFP_FS flag, direct alloc fail,
memory
alloc fail, memory reclaim
will invoke memory shrinker in dm_bufio, where dm_bufio_shrink_scan()
will be invoked, since the mutex was already hold by P1, the loop thread
will hung, io will never done. ABBA deadlock.
Signed-off-by: Junxiao Bi
---
Changes in v2:
- refine the commit log
drivers
On 7/8/19 7:14 AM, Mike Snitzer wrote:
On Fri, Jul 05 2019 at 4:24pm -0400,
Junxiao Bi wrote:
Hi Mike,
Do i make sense on this?
No, you haven't made your chase for this change. Sorry.
Please refine the patch header to _not_ get into context you have from
a vendor kernel. I know you say
Hi Mike,
Do i make sense on this?
Thanks,
Junxiao.
On 7/3/19 10:19 AM, Junxiao Bi wrote:
Hi Mike,
Thanks for reviewing, see comments inlined.
On 7/3/19 9:21 AM, Mike Snitzer wrote:
On Tue, Jul 02 2019 at 7:14pm -0400,
Junxiao Bi wrote:
The following deadlock was caputred on 4.1, since
Hi Mike,
Thanks for reviewing, see comments inlined.
On 7/3/19 9:21 AM, Mike Snitzer wrote:
On Tue, Jul 02 2019 at 7:14pm -0400,
Junxiao Bi wrote:
The following deadlock was caputred on 4.1, since dm_bufio_shrink_count
still had bufio lock acquired, this was already fixed by mainline
2f5aff50] ret_from_fork at 81745242
Signed-off-by: Junxiao Bi
---
drivers/md/dm-bufio.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/md/dm-bufio.c b/drivers/md/dm-bufio.c
index 2a48ea3f1b30..b6b5acc92ca2 100644
--- a/drivers/md/dm-bufio.c
+++ b/drivers/md/dm-buf