From: "Jarkko Sakkinen" <jarkko@kernel.org>
To: "Shuai Xue" <xueshuai@linux.alibaba.com>, <mark.rutland@arm.com>,
<catalin.marinas@arm.com>, <mingo@redhat.com>,
<robin.murphy@arm.com>, <Jonathan.Cameron@Huawei.com>,
<bp@alien8.de>, <rafael@kernel.org>, <wangkefeng.wang@huawei.com>,
<tanxiaofei@huawei.com>, <mawupeng1@huawei.com>,
<tony.luck@intel.com>, <linmiaohe@huawei.com>,
<naoya.horiguchi@nec.com>, <james.morse@arm.com>,
<tongtiangen@huawei.com>, <gregkh@linuxfoundation.org>,
<will@kernel.org>
Cc: <linux-acpi@vger.kernel.org>, <linux-mm@kvack.org>,
<linux-kernel@vger.kernel.org>, <akpm@linux-foundation.org>,
<linux-edac@vger.kernel.org>, <x86@kernel.org>,
<justin.he@arm.com>, <ardb@kernel.org>, <ying.huang@intel.com>,
<ashish.kalra@amd.com>, <baolin.wang@linux.alibaba.com>,
<tglx@linutronix.de>, <dave.hansen@linux.intel.com>,
<lenb@kernel.org>, <hpa@zytor.com>, <robert.moore@intel.com>,
<lvying6@huawei.com>, <xiexiuqi@huawei.com>,
<zhuo.song@linux.alibaba.com>
Subject: Re: [PATCH v14 3/3] ACPI: APEI: handle synchronous exceptions in task work
Date: Fri, 25 Oct 2024 17:40:52 +0300 [thread overview]
Message-ID: <D54YRGZ47LLS.2BGS3F7T80DF4@kernel.org> (raw)
In-Reply-To: <05a8d26b-b023-426f-879c-7d33be4a6406@linux.alibaba.com>
On Tue Oct 22, 2024 at 4:11 AM EEST, Shuai Xue wrote:
> Hi, Jarkko,
>
>
> 在 2024/10/14 16:42, Shuai Xue 写道:
> > The memory uncorrected error could be signaled by asynchronous interrupt
> > (specifically, SPI in arm64 platform), e.g. when an error is detected by
> > a background scrubber, or signaled by synchronous exception
> > (specifically, data abort excepction in arm64 platform), e.g. when a CPU
> > tries to access a poisoned cache line. Currently, both synchronous and
> > asynchronous error use memory_failure_queue() to schedule
> > memory_failure() exectute in kworker context.
> >
> > As a result, when a user-space process is accessing a poisoned data, a
> > data abort is taken and the memory_failure() is executed in the kworker
> > context:
> >
> > - will send wrong si_code by SIGBUS signal in early_kill mode, and
> > - can not kill the user-space in some cases resulting a synchronous
> > error infinite loop
> >
> > Issue 1: send wrong si_code in early_kill mode
> >
> > Since commit a70297d22132 ("ACPI: APEI: set memory failure flags as
> > MF_ACTION_REQUIRED on synchronous events")', the flag MF_ACTION_REQUIRED
> > could be used to determine whether a synchronous exception occurs on
> > ARM64 platform. When a synchronous exception is detected, the kernel is
> > expected to terminate the current process which has accessed poisoned
> > page. This is done by sending a SIGBUS signal with an error code
> > BUS_MCEERR_AR, indicating an action-required machine check error on
> > read.
> >
> > However, when kill_proc() is called to terminate the processes who have
> > the poisoned page mapped, it sends the incorrect SIGBUS error code
> > BUS_MCEERR_AO because the context in which it operates is not the one
> > where the error was triggered.
> >
> > To reproduce this problem:
> >
> > #sysctl -w vm.memory_failure_early_kill=1
> > vm.memory_failure_early_kill = 1
> >
> > # STEP2: inject an UCE error and consume it to trigger a synchronous error
> > #einj_mem_uc single
> > 0: single vaddr = 0xffffb0d75400 paddr = 4092d55b400
> > injecting ...
> > triggering ...
> > signal 7 code 5 addr 0xffffb0d75000
> > page not present
> > Test passed
> >
> > The si_code (code 5) from einj_mem_uc indicates that it is BUS_MCEERR_AO
> > error and it is not fact.
> >
> > After this patch:
> >
> > # STEP1: enable early kill mode
> > #sysctl -w vm.memory_failure_early_kill=1
> > vm.memory_failure_early_kill = 1
> > # STEP2: inject an UCE error and consume it to trigger a synchronous error
> > #einj_mem_uc single
> > 0: single vaddr = 0xffffb0d75400 paddr = 4092d55b400
> > injecting ...
> > triggering ...
> > signal 7 code 4 addr 0xffffb0d75000
> > page not present
> > Test passed
> >
> > The si_code (code 4) from einj_mem_uc indicates that it is BUS_MCEERR_AR
> > error as we expected.
> >
> > Issue 2: a synchronous error infinite loop
> >
> > If a user-space process, e.g. devmem, a poisoned page which has been set
> > HWPosion flag, kill_accessing_process() is called to send SIGBUS to the
> > current processs with error info. Because the memory_failure() is
> > executed in the kworker contex, it will just do nothing but return
> > EFAULT. So, devmem will access the posioned page and trigger an
> > excepction again, resulting in a synchronous error infinite loop. Such
> > loop may cause platform firmware to exceed some threshold and reboot
> > when Linux could have recovered from this error.
> >
> > To reproduce this problem:
> >
> > # STEP 1: inject an UCE error, and kernel will set HWPosion flag for related page
> > #einj_mem_uc single
> > 0: single vaddr = 0xffffb0d75400 paddr = 4092d55b400
> > injecting ...
> > triggering ...
> > signal 7 code 4 addr 0xffffb0d75000
> > page not present
> > Test passed
> >
> > # STEP 2: access the same page and it will trigger a synchronous error infinite loop
> > devmem 0x4092d55b400
> >
> > To fix above two issues, queue memory_failure() as a task_work so that it runs in
> > the context of the process that is actually consuming the poisoned data.
> >
> > Signed-off-by: Shuai Xue <xueshuai@linux.alibaba.com>
> > Tested-by: Ma Wupeng <mawupeng1@huawei.com>
> > Reviewed-by: Kefeng Wang <wangkefeng.wang@huawei.com>
> > Reviewed-by: Xiaofei Tan <tanxiaofei@huawei.com>
> > Reviewed-by: Baolin Wang <baolin.wang@linux.alibaba.com>
> > ---
> > drivers/acpi/apei/ghes.c | 78 +++++++++++++++++++++++-----------------
> > include/acpi/ghes.h | 3 --
> > include/linux/mm.h | 1 -
> > mm/memory-failure.c | 13 -------
> > 4 files changed, 45 insertions(+), 50 deletions(-)
> >
> > diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
> > index f2ee28c44d7a..95e9520eb803 100644
> > --- a/drivers/acpi/apei/ghes.c
> > +++ b/drivers/acpi/apei/ghes.c
> > @@ -467,28 +467,42 @@ static void ghes_clear_estatus(struct ghes *ghes,
> > }
> >
> > /*
> > - * Called as task_work before returning to user-space.
> > - * Ensure any queued work has been done before we return to the context that
> > - * triggered the notification.
> > + * struct ghes_task_work - for synchronous RAS event
> > + *
> > + * @twork: callback_head for task work
> > + * @pfn: page frame number of corrupted page
> > + * @flags: work control flags
> > + *
> > + * Structure to pass task work to be handled before
> > + * returning to user-space via task_work_add().
> > */
>
>
> Do you have any futer comments about this patch? Any comments are
> welcomed. If not, are you happy to explictly give the reveiwed-by tag?
Sorry I've been busy switching to a new job.
I read this now through and both commit messages and the code changes
look sane to me so I guess I don't have any problem with that:
Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
>
> Best Regard,
> Shuai
BR, Jarkko
next prev parent reply other threads:[~2024-10-25 14:40 UTC|newest]
Thread overview: 187+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-27 4:24 [PATCH] ACPI: APEI: set memory failure flags as MF_ACTION_REQUIRED on action required events Shuai Xue
2022-10-27 4:26 ` kernel test robot
2022-10-28 17:08 ` Rafael J. Wysocki
2022-10-28 17:25 ` Luck, Tony
2022-11-02 11:53 ` Shuai Xue
2022-11-22 11:40 ` Shuai Xue
2022-11-02 7:07 ` Shuai Xue
2022-12-06 15:33 ` [RFC PATCH 0/2] ACPI: APEI: handle synchronous exceptions in task work Shuai Xue
2022-12-07 9:54 ` reply for " Lv Ying
2022-12-07 12:34 ` Bixuan Cui
2022-12-07 12:56 ` Shuai Xue
2022-12-07 14:04 ` Shuai Xue
2022-12-08 2:27 ` Lv Ying
2022-12-06 15:33 ` [RFC PATCH 1/2] ACPI: APEI: set memory failure flags as MF_ACTION_REQUIRED on synchronous events Shuai Xue
2022-12-06 15:33 ` [RFC PATCH 2/2] ACPI: APEI: separate synchronous error handling into task work Shuai Xue
2023-02-27 5:03 ` [PATCH v2 0/2] ACPI: APEI: handle synchronous exceptions with proper si_code Shuai Xue
2023-03-06 0:45 ` Shuai Xue
2023-02-27 5:03 ` [PATCH v2 1/2] ACPI: APEI: set memory failure flags as MF_ACTION_REQUIRED on synchronous events Shuai Xue
2023-03-16 7:21 ` HORIGUCHI NAOYA(堀口 直也)
2023-03-16 9:57 ` Shuai Xue
2023-03-16 16:45 ` Luck, Tony
2023-03-17 1:12 ` Shuai Xue
2023-02-27 5:03 ` [PATCH v2 2/2] ACPI: APEI: handle synchronous exceptions in task work Shuai Xue
2023-03-16 7:21 ` HORIGUCHI NAOYA(堀口 直也)
2023-03-16 11:10 ` Shuai Xue
2023-03-17 0:29 ` HORIGUCHI NAOYA(堀口 直也)
2023-03-17 1:24 ` Shuai Xue
2023-03-17 7:24 ` [PATCH v3 0/2] ACPI: APEI: handle synchronous exceptions with proper si_code Shuai Xue
2023-03-20 18:03 ` Rafael J. Wysocki
2023-03-30 6:11 ` Shuai Xue
2023-03-30 9:52 ` Rafael J. Wysocki
2023-03-21 7:17 ` mawupeng
2023-03-22 1:27 ` Shuai Xue
2023-03-17 7:24 ` [PATCH v3 1/2] ACPI: APEI: set memory failure flags as MF_ACTION_REQUIRED on synchronous events Shuai Xue
2023-03-17 7:24 ` [PATCH v3 2/2] ACPI: APEI: handle synchronous exceptions in task work Shuai Xue
2023-04-06 12:39 ` Xiaofei Tan
2023-04-07 2:21 ` Shuai Xue
2023-04-08 9:13 ` [PATCH v4 0/2] ACPI: APEI: handle synchronous exceptions with proper si_code Shuai Xue
2023-04-08 9:13 ` [PATCH v4 1/2] ACPI: APEI: set memory failure flags as MF_ACTION_REQUIRED on synchronous events Shuai Xue
2023-04-08 9:13 ` [PATCH v4 2/2] ACPI: APEI: handle synchronous exceptions in task work Shuai Xue
2023-04-11 1:44 ` Xiaofei Tan
2023-04-11 3:16 ` Shuai Xue
2023-04-11 9:02 ` Xiaofei Tan
2023-04-11 9:48 ` Shuai Xue
2023-04-11 10:48 ` [PATCH v5 0/2] ACPI: APEI: handle synchronous exceptions with proper si_code Shuai Xue
2023-04-11 10:48 ` [PATCH v5 1/2] ACPI: APEI: set memory failure flags as MF_ACTION_REQUIRED on synchronous events Shuai Xue
2023-04-11 14:17 ` Kefeng Wang
2023-04-12 2:54 ` Shuai Xue
2023-04-12 3:55 ` Xiaofei Tan
2023-04-13 1:42 ` Shuai Xue
2023-04-11 10:48 ` [PATCH v5 2/2] ACPI: APEI: handle synchronous exceptions in task work Shuai Xue
2023-04-11 14:28 ` Kefeng Wang
2023-04-12 2:58 ` Shuai Xue
2023-04-12 4:05 ` Xiaofei Tan
2023-04-13 1:49 ` Shuai Xue
2023-04-12 11:27 ` [PATCH v6 0/2] ACPI: APEI: handle synchronous exceptions with proper si_code Shuai Xue
2023-04-12 11:28 ` [PATCH v6 1/2] ACPI: APEI: set memory failure flags as MF_ACTION_REQUIRED on synchronous events Shuai Xue
2023-04-12 11:28 ` [PATCH v6 2/2] ACPI: APEI: handle synchronous exceptions in task work Shuai Xue
2023-04-17 1:14 ` [PATCH v7 0/2] ACPI: APEI: handle synchronous exceptions with proper si_code Shuai Xue
2023-04-24 6:24 ` Shuai Xue
2023-05-08 1:55 ` Shuai Xue
2023-04-17 1:14 ` [PATCH v7 1/2] ACPI: APEI: set memory failure flags as MF_ACTION_REQUIRED on synchronous events Shuai Xue
2023-04-17 1:14 ` [PATCH v7 2/2] ACPI: APEI: handle synchronous exceptions in task work Shuai Xue
2023-09-19 2:21 ` [RESEND PATCH v8 0/2] ACPI: APEI: handle synchronous errors in task work with proper si_code Shuai Xue
2023-09-19 2:21 ` [Acpica-devel] " Shuai Xue
2023-09-19 2:21 ` [RESEND PATCH v8 1/2] ACPI: APEI: set memory failure flags as MF_ACTION_REQUIRED on synchronous events Shuai Xue
2023-09-19 2:21 ` [Acpica-devel] " Shuai Xue
2023-09-25 14:43 ` Jarkko Sakkinen
2023-09-25 14:43 ` [Acpica-devel] " Jarkko Sakkinen
2023-09-26 6:23 ` Shuai Xue
2023-09-26 6:23 ` [Acpica-devel] " Shuai Xue
2023-09-19 2:21 ` [RESEND PATCH v8 2/2] ACPI: APEI: handle synchronous exceptions in task work Shuai Xue
2023-09-19 2:21 ` [Acpica-devel] " Shuai Xue
2023-09-25 15:00 ` Jarkko Sakkinen
2023-09-25 15:01 ` [Acpica-devel] " Jarkko Sakkinen
2023-09-26 6:38 ` Shuai Xue
2023-09-26 6:38 ` [Acpica-devel] " Shuai Xue
2023-10-03 8:28 ` Naoya Horiguchi
2023-10-03 8:39 ` [Acpica-devel] " Naoya Horiguchi
2023-10-07 2:01 ` Shuai Xue
2023-10-07 2:01 ` [Acpica-devel] " Shuai Xue
2023-10-07 7:28 ` [PATCH v9 0/2] ACPI: APEI: handle synchronous errors in task work with proper si_code Shuai Xue
2023-10-07 7:28 ` [Acpica-devel] " Shuai Xue
2023-11-21 1:48 ` Shuai Xue
2023-11-23 15:07 ` Borislav Petkov
2023-11-25 6:44 ` Shuai Xue
2023-11-25 12:10 ` Borislav Petkov
2023-11-26 12:25 ` Shuai Xue
2023-11-29 18:54 ` Borislav Petkov
2023-11-30 2:58 ` Shuai Xue
2023-11-30 14:40 ` Borislav Petkov
2023-11-30 17:43 ` James Morse
2023-12-01 2:58 ` Shuai Xue
2023-11-30 17:39 ` James Morse
2023-12-01 3:37 ` Shuai Xue
2023-10-07 7:28 ` [PATCH v9 1/2] ACPI: APEI: set memory failure flags as MF_ACTION_REQUIRED on synchronous events Shuai Xue
2023-10-07 7:28 ` [Acpica-devel] " Shuai Xue
2023-11-30 17:39 ` James Morse
2023-12-01 5:22 ` Shuai Xue
2023-10-07 7:28 ` [PATCH v9 2/2] ACPI: APEI: handle synchronous exceptions in task work Shuai Xue
2023-10-07 7:28 ` [Acpica-devel] " Shuai Xue
2023-11-30 17:39 ` James Morse
2023-12-01 7:03 ` Shuai Xue
2023-12-18 6:45 ` [PATCH v10 0/4] ACPI: APEI: handle synchronous errors in task work with proper si_code Shuai Xue
2023-12-18 6:45 ` [PATCH v10 1/4] ACPI: APEI: set memory failure flags as MF_ACTION_REQUIRED on synchronous events Shuai Xue
2023-12-18 6:53 ` Greg KH
2023-12-21 13:55 ` Rafael J. Wysocki
2023-12-22 1:07 ` Shuai Xue
2023-12-18 6:45 ` [PATCH v10 2/4] ACPI: APEI: send SIGBUS to current task if synchronous memory error not recovered Shuai Xue
2023-12-18 6:54 ` Greg KH
2023-12-18 6:45 ` [PATCH v10 3/4] mm: memory-failure: move memory_failure() return value documentation to function declaration Shuai Xue
2023-12-18 6:54 ` Greg KH
2023-12-18 6:45 ` [PATCH v10 4/4] ACPI: APEI: handle synchronous exceptions in task work Shuai Xue
2023-12-18 6:54 ` Greg KH
2024-02-04 8:01 ` [PATCH v11 0/3] ACPI: APEI: handle synchronous exceptions in task work to send correct SIGBUS si_code Shuai Xue
2024-02-19 1:46 ` Shuai Xue
2024-02-04 8:01 ` [PATCH v11 1/3] ACPI: APEI: send SIGBUS to current task if synchronous memory error not recovered Shuai Xue
2024-02-19 9:25 ` Borislav Petkov
2024-02-22 2:07 ` Shuai Xue
2024-02-23 5:26 ` Dan Williams
2024-02-23 12:08 ` Jonathan Cameron
2024-02-23 12:17 ` Jonathan Cameron
2024-02-24 6:08 ` Shuai Xue
2024-02-26 10:29 ` Borislav Petkov
2024-02-27 1:23 ` Shuai Xue
2024-02-24 19:42 ` Dan Williams
2024-02-24 19:40 ` Dan Williams
2024-02-04 8:01 ` [PATCH v11 2/3] mm: memory-failure: move return value documentation to function declaration Shuai Xue
2024-02-26 10:46 ` Borislav Petkov
2024-02-27 1:27 ` Shuai Xue
2024-02-04 8:01 ` [PATCH v11 3/3] ACPI: APEI: handle synchronous exceptions in task work to send correct SIGBUS si_code Shuai Xue
2024-02-29 7:05 ` Shuai Xue
2024-03-08 10:18 ` Borislav Petkov
2024-03-12 6:05 ` Shuai Xue
2024-09-02 3:00 ` [PATCH v12 0/3] ACPI: APEI: handle synchronous errors in task work Shuai Xue
2024-09-18 2:16 ` Shuai Xue
2024-09-02 3:00 ` [PATCH v12 1/3] ACPI: APEI: send SIGBUS to current task if synchronous memory error not recovered Shuai Xue
2024-09-03 16:09 ` Jarkko Sakkinen
2024-09-05 3:04 ` Shuai Xue
2024-09-05 14:14 ` Jarkko Sakkinen
2024-09-05 14:17 ` Jarkko Sakkinen
2024-09-06 1:53 ` Shuai Xue
2024-09-06 14:42 ` Jarkko Sakkinen
2024-09-02 3:00 ` [PATCH v12 2/3] mm: memory-failure: move return value documentation to function declaration Shuai Xue
2024-09-03 16:10 ` Jarkko Sakkinen
2024-09-05 3:08 ` Shuai Xue
2024-09-02 3:00 ` [PATCH v12 3/3] ACPI: APEI: handle synchronous exceptions in task work Shuai Xue
2024-09-03 16:11 ` Jarkko Sakkinen
2024-09-05 3:09 ` Shuai Xue
2024-09-20 4:30 ` [PATCH v13 0/3] ACPI: APEI: handle synchronous errors " Shuai Xue
2024-09-20 4:30 ` [PATCH v13 1/3] ACPI: APEI: send SIGBUS to current task if synchronous memory error not recovered Shuai Xue
2024-09-20 11:35 ` Jarkko Sakkinen
2024-09-20 4:30 ` [PATCH v13 2/3] mm: memory-failure: move return value documentation to function declaration Shuai Xue
2024-09-20 11:35 ` Jarkko Sakkinen
2024-09-20 4:30 ` [PATCH v13 3/3] ACPI: APEI: handle synchronous exceptions in task work Shuai Xue
2024-09-20 11:44 ` Jarkko Sakkinen
2024-09-20 12:14 ` Shuai Xue
2024-10-14 8:42 ` [PATCH v14 0/3] ACPI: APEI: handle synchronous errors " Shuai Xue
2024-10-14 8:42 ` [PATCH v14 1/3] ACPI: APEI: send SIGBUS to current task if synchronous memory error not recovered Shuai Xue
2024-10-17 9:39 ` Jonathan Cameron
2024-10-17 23:41 ` Shuai Xue
2024-10-14 8:42 ` [PATCH v14 2/3] mm: memory-failure: move return value documentation to function declaration Shuai Xue
2024-10-17 9:41 ` Jonathan Cameron
2024-10-17 23:43 ` Shuai Xue
2024-10-14 8:42 ` [PATCH v14 3/3] ACPI: APEI: handle synchronous exceptions in task work Shuai Xue
2024-10-17 9:56 ` Jonathan Cameron
2024-10-18 0:08 ` Shuai Xue
2024-10-22 1:11 ` Shuai Xue
2024-10-25 14:40 ` Jarkko Sakkinen [this message]
2024-10-26 6:46 ` Shuai Xue
2024-10-28 8:11 ` [PATCH v15 0/3] ACPI: APEI: handle synchronous errors " Shuai Xue
2024-10-28 8:11 ` [PATCH v15 1/3] ACPI: APEI: send SIGBUS to current task if synchronous memory error not recovered Shuai Xue
2024-10-29 20:48 ` Yazen Ghannam
2024-10-30 1:54 ` Shuai Xue
2024-10-30 14:08 ` Yazen Ghannam
2024-10-31 1:36 ` Shuai Xue
2024-10-28 8:11 ` [PATCH v15 2/3] mm: memory-failure: move return value documentation to function declaration Shuai Xue
2024-10-28 8:11 ` [PATCH v15 3/3] ACPI: APEI: handle synchronous exceptions in task work Shuai Xue
2024-11-04 1:54 ` [PATCH v16 0/3] ACPI: APEI: handle synchronous errors " Shuai Xue
2024-11-04 1:54 ` [PATCH v16 1/3] ACPI: APEI: send SIGBUS to current task if synchronous memory error not recovered Shuai Xue
2024-11-05 15:09 ` Yazen Ghannam
2024-11-05 16:56 ` Jarkko Sakkinen
2024-11-06 6:07 ` Shuai Xue
2024-11-04 1:54 ` [PATCH v16 2/3] mm: memory-failure: move return value documentation to function declaration Shuai Xue
2024-11-05 15:18 ` Yazen Ghannam
2024-11-06 6:12 ` Shuai Xue
2024-11-04 1:54 ` [PATCH v16 3/3] ACPI: APEI: handle synchronous exceptions in task work Shuai Xue
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=D54YRGZ47LLS.2BGS3F7T80DF4@kernel.org \
--to=jarkko@kernel.org \
--cc=Jonathan.Cameron@Huawei.com \
--cc=akpm@linux-foundation.org \
--cc=ardb@kernel.org \
--cc=ashish.kalra@amd.com \
--cc=baolin.wang@linux.alibaba.com \
--cc=bp@alien8.de \
--cc=catalin.marinas@arm.com \
--cc=dave.hansen@linux.intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=hpa@zytor.com \
--cc=james.morse@arm.com \
--cc=justin.he@arm.com \
--cc=lenb@kernel.org \
--cc=linmiaohe@huawei.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-edac@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lvying6@huawei.com \
--cc=mark.rutland@arm.com \
--cc=mawupeng1@huawei.com \
--cc=mingo@redhat.com \
--cc=naoya.horiguchi@nec.com \
--cc=rafael@kernel.org \
--cc=robert.moore@intel.com \
--cc=robin.murphy@arm.com \
--cc=tanxiaofei@huawei.com \
--cc=tglx@linutronix.de \
--cc=tongtiangen@huawei.com \
--cc=tony.luck@intel.com \
--cc=wangkefeng.wang@huawei.com \
--cc=will@kernel.org \
--cc=x86@kernel.org \
--cc=xiexiuqi@huawei.com \
--cc=xueshuai@linux.alibaba.com \
--cc=ying.huang@intel.com \
--cc=zhuo.song@linux.alibaba.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.