So, we got no reponse from the MM maintainers. Marek - please try this patch on all the machines where you hit the bug and if you still hit the bug with this patch, report it. Mikulas From: Mikulas Patocka <mpatocka@xxxxxxxxxx> Subject: [PATCH] dm-crypt: don't allocate large compound pages It was reported that the patch 5054e778fcd9cd29ddaa8109077cd235527e4f94 ("dm crypt: allocate compound pages if possible") causes intermittent freezes [1]. So far, it is not clear what is the root cause. It was reported that with the allocation order 3 or lower it works [1], so we restrict the order to 3 (that is PAGE_ALLOC_COSTLY_ORDER). [1] https://www.spinics.net/lists/dm-devel/msg56048.html Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Reported-by: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx> Tested-by: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v6.5+ Fixes: 5054e778fcd9 ("dm crypt: allocate compound pages if possible") --- drivers/md/dm-crypt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: linux-2.6/drivers/md/dm-crypt.c =================================================================== --- linux-2.6.orig/drivers/md/dm-crypt.c +++ linux-2.6/drivers/md/dm-crypt.c @@ -1679,7 +1679,7 @@ static struct bio *crypt_alloc_buffer(st unsigned int nr_iovecs = (size + PAGE_SIZE - 1) >> PAGE_SHIFT; gfp_t gfp_mask = GFP_NOWAIT | __GFP_HIGHMEM; unsigned int remaining_size; - unsigned int order = MAX_ORDER - 1; + unsigned int order = PAGE_ALLOC_COSTLY_ORDER; retry: if (unlikely(gfp_mask & __GFP_DIRECT_RECLAIM))