From: Jane Chu <jane.chu@oracle.com>
To: Oscar Salvador <osalvador@suse.de>
Cc: linmiaohe@huawei.com, nao.horiguchi@gmail.com,
akpm@linux-foundation.org, linux-mm@kvack.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 3/5] mm/memory-failure: improve memory failure action_result messages
Date: Thu, 23 May 2024 10:38:10 -0700 [thread overview]
Message-ID: <6928d21f-90c5-47ea-81e8-1838ad9ce618@oracle.com> (raw)
In-Reply-To: <Zk5Xoc1aXuw-KMJG@localhost.localdomain>
On 5/22/2024 1:37 PM, Oscar Salvador wrote:
> On Tue, May 21, 2024 at 05:54:27PM -0600, Jane Chu wrote:
>> Added two explicit MF_MSG messages describing failure in get_hwpoison_page.
>> Attemped to document the definition of various action names, and made a few
>> adjustment to the action_result() calls.
>>
>> Signed-off-by: Jane Chu <jane.chu@oracle.com>
> This looks much better, thanks:
>
> Reviewed-by: Oscar Salvador <osalvador@suse.de>
>
> By the way, I was checking the block in memory_failure() that handles
> refcount=0 pages, concretely the piece of code that handles buddy pages.
>
> In there, if we fail to take the page off the buddy lists, we return
> MF_FAILED, but I really think we should be returning MF_IGNORED.
I guess you mean this code -
if (has_extra_refcount(ps, p, false))
ret = MF_FAILED;
?
It appears in below code paths-
hwpoison_user_mappings
identify_page_state
me_huge_page || me_swapcache_dirty || me_swapcache_clean
for LRU pages.
And for non-LRU
if (!folio_test_lru(folio) && !folio_test_writeback(folio))
goto identify_page_state;
My hunch is that the most common calling path would be:
hwpoison_user_mappings has unmapped the page, then identify_page_state
is called, but for some reason failed to take the page off the LRU. The
m-f() handler has isolated the page to avoid further MCE, so I think in
general return MF_FAILED is okay.
That said, the line is not always clear, for example in the non-LRU
case, where the m-f() handler may have done only a little, I guess I
just need to let the case rest.
thanks,
-jane
>
> Thoughts?
>
>
next prev parent reply other threads:[~2024-05-23 17:39 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-21 23:54 [PATCH v3 0/5] Enhance soft hwpoison handling and injection Jane Chu
2024-05-21 23:54 ` [PATCH v3 1/5] mm/memory-failure: try to send SIGBUS even if unmap failed Jane Chu
2024-05-21 23:54 ` [PATCH v3 2/5] mm/madvise: Add MF_ACTION_REQUIRED to madvise(MADV_HWPOISON) Jane Chu
2024-05-23 1:54 ` Miaohe Lin
2024-05-21 23:54 ` [PATCH v3 3/5] mm/memory-failure: improve memory failure action_result messages Jane Chu
2024-05-22 20:37 ` Oscar Salvador
2024-05-23 17:38 ` Jane Chu [this message]
2024-05-23 2:31 ` Miaohe Lin
2024-05-23 19:58 ` Jane Chu
2024-05-21 23:54 ` [PATCH v3 4/5] mm/memory-failure: move hwpoison_filter() higher up Jane Chu
2024-05-22 20:50 ` Oscar Salvador
2024-05-23 2:37 ` Miaohe Lin
2024-05-21 23:54 ` [PATCH v3 5/5] mm/memory-failure: send SIGBUS in the event of thp split fail Jane Chu
2024-05-22 20:57 ` Oscar Salvador
2024-05-23 3:02 ` Miaohe Lin
2024-05-23 20:01 ` Jane Chu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6928d21f-90c5-47ea-81e8-1838ad9ce618@oracle.com \
--to=jane.chu@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=linmiaohe@huawei.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=nao.horiguchi@gmail.com \
--cc=osalvador@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.