All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jane Chu <jane.chu@oracle.com>
To: Miaohe Lin <linmiaohe@huawei.com>,
	nao.horiguchi@gmail.com, akpm@linux-foundation.org,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/3] mm/madvise: Add MF_ACTION_REQUIRED to madvise(MADV_HWPOISON)
Date: Mon, 6 May 2024 12:54:17 -0700	[thread overview]
Message-ID: <c37e5aac-3bc7-4013-b58a-e29c6bfbfd1f@oracle.com> (raw)
In-Reply-To: <0c7dbf7d-dcb6-f9f2-4a2a-9700ea465a47@huawei.com>

On 5/5/2024 12:02 AM, Miaohe Lin wrote:

> On 2024/5/2 7:24, Jane Chu wrote:
>> The soft hwpoison injector via madvise(MADV_HWPOISON) operates in
>> a synchrous way in a sense, the injector is also a process under
>> test, and should it have the poisoned page mapped in its address
>> space, it should legitimately get killed as much as in a real UE
>> situation.
> Will it be better to add a method to set MF_ACTION_REQUIRED explicitly when inject soft hwpoison?
> Thanks.

So the first question is: Is there a need to preserve the existing 
behavior of  madvise(MADV_HWPOISON)?

The madvise(2) man page says -

        *MADV_HWPOISON *(since Linux 2.6.32)
               Poison the pages in the range specified by/addr/  and/length/
               and handle subsequent references to those pages like a
               hardware memory corruption.  This operation is available
               only for privileged (*CAP_SYS_ADMIN*) processes.  This
               operation may result in the calling process receiving a
               *SIGBUS *and the page being unmapped.

               This feature is intended for testing of memory error-
               handling code; it is available only if the kernel was
               configured with*CONFIG_MEMORY_FAILURE*.

And the impression from my reading is that: there doesn't seem to be a need.

A couple observations -
- The man page states that the calling process may receive a SIGBUS and the page being unmapped.
But the existing behavior is no SIGBUS unless MCE early kill is elected, so it doesn't quite match
the man page.
- There is 'hwpoison-inject' which behaves similar to the existing madvise(MADV_HWPOISON), that is,
soft inject without MF_ACTION_REQUIRED flag.

thanks,
-jane

> .
>
>> Signed-off-by: Jane Chu <jane.chu@oracle.com>
>> ---
>>   mm/madvise.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/mm/madvise.c b/mm/madvise.c
>> index 1a073fcc4c0c..eaeae5252c02 100644
>> --- a/mm/madvise.c
>> +++ b/mm/madvise.c
>> @@ -1127,7 +1127,7 @@ static int madvise_inject_error(int behavior,
>>   		} else {
>>   			pr_info("Injecting memory failure for pfn %#lx at process virtual address %#lx\n",
>>   				 pfn, start);
>> -			ret = memory_failure(pfn, MF_COUNT_INCREASED | MF_SW_SIMULATED);
>> +			ret = memory_failure(pfn, MF_ACTION_REQUIRED | MF_COUNT_INCREASED | MF_SW_SIMULATED);
>>   			if (ret == -EOPNOTSUPP)
>>   				ret = 0;
>>   		}
>>

  reply	other threads:[~2024-05-06 19:54 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-01 23:24 [PATCH 0/3] Enhance soft hwpoison handling and injection Jane Chu
2024-05-01 23:24 ` [PATCH 1/3] mm/memory-failure: try to send SIGBUS even if unmap failed Jane Chu
2024-05-07  9:02   ` Oscar Salvador
2024-05-07 17:54     ` Jane Chu
2024-05-08 12:06       ` Oscar Salvador
2024-05-08 16:51         ` Jane Chu
2024-05-08  7:47   ` Miaohe Lin
2024-05-08 16:58     ` Jane Chu
2024-05-09  2:54   ` Miaohe Lin
2024-05-09 16:40     ` Jane Chu
2024-05-01 23:24 ` [PATCH 2/3] mm/madvise: Add MF_ACTION_REQUIRED to madvise(MADV_HWPOISON) Jane Chu
2024-05-05  7:02   ` Miaohe Lin
2024-05-06 19:54     ` Jane Chu [this message]
2024-05-08  7:58       ` Miaohe Lin
2024-05-01 23:24 ` [PATCH 3/3] mm/memory-failure: send SIGBUS in the event of thp split fail Jane Chu
2024-05-05  7:00   ` Miaohe Lin
2024-05-06 20:26     ` Jane Chu
2024-05-08  8:08       ` Miaohe Lin
2024-05-08 17:45         ` Jane Chu
2024-05-09  8:30           ` Miaohe Lin
2024-05-09 15:34             ` Jane Chu
2024-05-10  2:59               ` Miaohe Lin
2024-05-10  3:18                 ` Jane Chu
2024-05-08  9:03   ` Miaohe Lin
2024-05-08 16:56     ` Jane Chu
2024-05-09  8:52       ` Miaohe Lin

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=c37e5aac-3bc7-4013-b58a-e29c6bfbfd1f@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 \
    /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.