On Fri, Oct 27, 2023 at 07:32:54PM +0200, Mikulas Patocka wrote: > 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. I've tested it for a bit and did not hit the issue again. > > 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)) -- Best Regards, Marek Marczykowski-Górecki Invisible Things Lab
Attachment:
signature.asc
Description: PGP signature