Re: [PATCH v2 4/5] mm/memory-failure: move hwpoison_filter() higher up
From: Miaohe Lin
Date: Sat May 11 2024 - 04:29:15 EST
On 2024/5/10 14:26, Jane Chu wrote:
> Move hwpoison_filter() higher up as there is no need to spend a lot
> cycles only to find out later that the page is supposed to be skipped
> for hwpoison handling.
>
> Signed-off-by: Jane Chu <jane.chu@xxxxxxxxxx>
> ---
> mm/memory-failure.c | 15 +++++++--------
> 1 file changed, 7 insertions(+), 8 deletions(-)
>
> diff --git a/mm/memory-failure.c b/mm/memory-failure.c
> index 62133c10fb51..2fa884d8b5a3 100644
> --- a/mm/memory-failure.c
> +++ b/mm/memory-failure.c
> @@ -2236,6 +2236,13 @@ int memory_failure(unsigned long pfn, int flags)
> goto unlock_mutex;
> }
>
> + if (hwpoison_filter(p)) {
> + if (flags & MF_COUNT_INCREASED)
> + put_page(p);
> + res = -EOPNOTSUPP;
> + goto unlock_mutex;
> + }
It might not be a good idea to do hwpoison_filter() here. We don't hold extra page refcnt
yet, so the page state will be really unstable. Or am I miss something?
Thanks.
.