On 2024/7/2 15:19, Andrew Morton wrote: > On Sat, 29 Jun 2024 10:09:46 +0800 Miaohe Lin <linmiaohe@xxxxxxxxxx> wrote: > >> On 2024/6/25 10:23, Rui Qi wrote: >>> From: Rui Qi <qirui.001@xxxxxxxxxxxxx> >>> >>> we hope that memory errors can be successfully handled quickly, using >>> __GFP_MEMALLOC can help us improve the success rate of processing >> >> Comments of __GFP_MEMALLOC says: >> >> * Users of this flag have to be extremely careful to not deplete the reserve >> * completely and implement a throttling mechanism which controls the >> * consumption of the reserve based on the amount of freed memory. >> >> It seems there's no such throttling mechanism in memory_failure. >> >>> under memory pressure, because to_kill struct is freed very quickly, >>> so using __GFP_MEMALLOC will not exacerbate memory pressure for a long time, >>> and more memory will be freed after killed task exiting, which will also >> >> Tasks might not be killed even to_kill struct is allocated. >> >> ... >> >>> - raw_hwp = kmalloc(sizeof(struct raw_hwp_page), GFP_ATOMIC); >>> + raw_hwp = kmalloc(sizeof(struct raw_hwp_page), GFP_ATOMIC | __GFP_MEMALLOC); >> >> In already hardware poisoned code path, raw_hwp can be allocated to store raw page info >> without killing anything. So __GFP_MEMALLOC might not be suitable to use. >> Or am I miss something? > > Yes, I'm doubtful about this patch. I think that rather than poking at a > particular implementation, it would be helpful for us to see a complete > description of the issues which were observed, please. Let's see the > bug report and we can discuss fixes later. I agree with you, Andrew. Thanks. :) .