From: Cody P Schafer <cody@linux.vnet.ibm.com>
To: Tang Chen <tangchen@cn.fujitsu.com>
Cc: tglx@linutronix.de, mingo@elte.hu, hpa@zytor.com,
akpm@linux-foundation.org, tj@kernel.org, trenn@suse.de,
yinghai@kernel.org, jiang.liu@huawei.com, wency@cn.fujitsu.com,
laijs@cn.fujitsu.com, isimatu.yasuaki@jp.fujitsu.com,
izumi.taku@jp.fujitsu.com, mgorman@suse.de, minchan@kernel.org,
mina86@mina86.com, gong.chen@linux.intel.com,
vasilis.liaskovitis@profitbricks.com, lwoodman@redhat.com,
riel@redhat.com, jweiner@redhat.com, prarit@redhat.com,
zhangyanfei@cn.fujitsu.com, yanghy@cn.fujitsu.com,
x86@kernel.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
linux-acpi@vger.kernel.org
Subject: Re: [PATCH 13/21] x86, acpi: Try to find SRAT in firmware earlier.
Date: Tue, 23 Jul 2013 16:26:59 -0700 [thread overview]
Message-ID: <51EF1143.1020503@linux.vnet.ibm.com> (raw)
In-Reply-To: <1374220774-29974-14-git-send-email-tangchen@cn.fujitsu.com>
On 07/19/2013 12:59 AM, Tang Chen wrote:
> This patch introduce early_acpi_firmware_srat() to find the
> phys addr of SRAT provided by firmware. And call it in
> reserve_hotpluggable_memory().
>
> Since we have initialized acpi_gbl_root_table_list earlier,
> and store all the tables' phys addrs and signatures in it,
> it is easy to find the SRAT.
>
> Signed-off-by: Tang Chen <tangchen@cn.fujitsu.com>
> ---
> drivers/acpi/acpica/tbxface.c | 34 ++++++++++++++++++++++++++++++++++
> drivers/acpi/osl.c | 24 ++++++++++++++++++++++++
> include/acpi/acpixf.h | 4 ++++
> include/linux/acpi.h | 4 ++++
> mm/memory_hotplug.c | 10 +++++++---
> 5 files changed, 73 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/acpi/acpica/tbxface.c b/drivers/acpi/acpica/tbxface.c
> index ad11162..95f8d1b 100644
> --- a/drivers/acpi/acpica/tbxface.c
> +++ b/drivers/acpi/acpica/tbxface.c
> @@ -181,6 +181,40 @@ acpi_status acpi_reallocate_root_table(void)
> return_ACPI_STATUS(status);
> }
>
> +/*
> + * acpi_get_table_desc - Get the acpi table descriptor of a specific table.
> + * @signature: The signature of the table to be found.
> + * @out_desc: The out returned descriptor.
The "@out_desc:" line looks funky. Also, I believe changes to this file
need to go in via acpica & probably conform to their commenting standards?
> + *
> + * This function iterates acpi_gbl_root_table_list and find the specified
> + * table's descriptor.
> + *
> + * NOTE: The caller has the responsibility to allocate memory for @out_desc.
> + *
> + * Return AE_OK on success, AE_NOT_FOUND if the table is not found.
> + */
> +acpi_status acpi_get_table_desc(char *signature,
> + struct acpi_table_desc *out_desc)
> +{
> + int pos;
> +
> + for (pos = 0;
> + pos < acpi_gbl_root_table_list.current_table_count;
> + pos++) {
> + if (!ACPI_COMPARE_NAME
> + (&(acpi_gbl_root_table_list.tables[pos].signature),
> + signature))
> + continue;
> +
> + memcpy(out_desc, &acpi_gbl_root_table_list.tables[pos],
> + sizeof(struct acpi_table_desc));
> +
> + return_ACPI_STATUS(AE_OK);
> + }
> +
> + return_ACPI_STATUS(AE_NOT_FOUND);
> +}
> +
> /*******************************************************************************
> *
> * FUNCTION: acpi_get_table_header
> diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c
> index fa6b973..a2e4596 100644
> --- a/drivers/acpi/osl.c
> +++ b/drivers/acpi/osl.c
> @@ -53,6 +53,7 @@
> #include <acpi/acpi.h>
> #include <acpi/acpi_bus.h>
> #include <acpi/processor.h>
> +#include <acpi/acpixf.h>
>
> #define _COMPONENT ACPI_OS_SERVICES
> ACPI_MODULE_NAME("osl");
> @@ -750,6 +751,29 @@ void __init acpi_initrd_override(void *data, size_t size)
> }
> #endif /* CONFIG_ACPI_INITRD_TABLE_OVERRIDE */
>
> +#ifdef CONFIG_ACPI_NUMA
> +#include <asm/numa.h>
> +#include <linux/memblock.h>
> +
> +/*
> + * early_acpi_firmware_srat - Get the phys addr of SRAT provide by firmware.
s/provide/provided/
> + *
> + * This function iterate acpi_gbl_root_table_list, find SRAT and return the
Perhaps: "Iterate over acpi_gbl_root_table_list to find SRAT then return
its phys addr"
Though I wonder if this comment is even needed, as the iteration is done
in acpi_get_table_desc() (added above).
> + * phys addr of SRAT.
> + *
> + * Return the phys addr of SRAT, or 0 on error.
> + */
> +phys_addr_t __init early_acpi_firmware_srat()
> +{
> + struct acpi_table_desc table_desc;
> +
> + if (acpi_get_table_desc(ACPI_SIG_SRAT, &table_desc))
> + return 0;
> +
> + return table_desc.address;
> +}
> +#endif /* CONFIG_ACPI_NUMA */
> +
> static void acpi_table_taint(struct acpi_table_header *table)
> {
> pr_warn(PREFIX
[...]
> diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
> index 066873e..15b11d3 100644
> --- a/mm/memory_hotplug.c
> +++ b/mm/memory_hotplug.c
> @@ -106,10 +106,14 @@ void __init reserve_hotpluggable_memory(void)
> {
> phys_addr_t srat_paddr;
>
> - /* Try to find if SRAT is overrided */
> + /* Try to find out if SRAT is overrided */
> srat_paddr = early_acpi_override_srat();
> - if (!srat_paddr)
> - return;
> + if (!srat_paddr) {
> + /* Try to find SRAT from firmware if it wasn't overrided */
s/overrided/overridden/
> + srat_paddr = early_acpi_firmware_srat();
> + if (!srat_paddr)
> + return;
> + }
>
> /* Will reserve hotpluggable memory here */
> }
>
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Cody P Schafer <cody@linux.vnet.ibm.com>
To: Tang Chen <tangchen@cn.fujitsu.com>
Cc: tglx@linutronix.de, mingo@elte.hu, hpa@zytor.com,
akpm@linux-foundation.org, tj@kernel.org, trenn@suse.de,
yinghai@kernel.org, jiang.liu@huawei.com, wency@cn.fujitsu.com,
laijs@cn.fujitsu.com, isimatu.yasuaki@jp.fujitsu.com,
izumi.taku@jp.fujitsu.com, mgorman@suse.de, minchan@kernel.org,
mina86@mina86.com, gong.chen@linux.intel.com,
vasilis.liaskovitis@profitbricks.com, lwoodman@redhat.com,
riel@redhat.com, jweiner@redhat.com, prarit@redhat.com,
zhangyanfei@cn.fujitsu.com, yanghy@cn.fujitsu.com,
x86@kernel.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
linux-acpi@vger.kernel.org
Subject: Re: [PATCH 13/21] x86, acpi: Try to find SRAT in firmware earlier.
Date: Tue, 23 Jul 2013 16:26:59 -0700 [thread overview]
Message-ID: <51EF1143.1020503@linux.vnet.ibm.com> (raw)
In-Reply-To: <1374220774-29974-14-git-send-email-tangchen@cn.fujitsu.com>
On 07/19/2013 12:59 AM, Tang Chen wrote:
> This patch introduce early_acpi_firmware_srat() to find the
> phys addr of SRAT provided by firmware. And call it in
> reserve_hotpluggable_memory().
>
> Since we have initialized acpi_gbl_root_table_list earlier,
> and store all the tables' phys addrs and signatures in it,
> it is easy to find the SRAT.
>
> Signed-off-by: Tang Chen <tangchen@cn.fujitsu.com>
> ---
> drivers/acpi/acpica/tbxface.c | 34 ++++++++++++++++++++++++++++++++++
> drivers/acpi/osl.c | 24 ++++++++++++++++++++++++
> include/acpi/acpixf.h | 4 ++++
> include/linux/acpi.h | 4 ++++
> mm/memory_hotplug.c | 10 +++++++---
> 5 files changed, 73 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/acpi/acpica/tbxface.c b/drivers/acpi/acpica/tbxface.c
> index ad11162..95f8d1b 100644
> --- a/drivers/acpi/acpica/tbxface.c
> +++ b/drivers/acpi/acpica/tbxface.c
> @@ -181,6 +181,40 @@ acpi_status acpi_reallocate_root_table(void)
> return_ACPI_STATUS(status);
> }
>
> +/*
> + * acpi_get_table_desc - Get the acpi table descriptor of a specific table.
> + * @signature: The signature of the table to be found.
> + * @out_desc: The out returned descriptor.
The "@out_desc:" line looks funky. Also, I believe changes to this file
need to go in via acpica & probably conform to their commenting standards?
> + *
> + * This function iterates acpi_gbl_root_table_list and find the specified
> + * table's descriptor.
> + *
> + * NOTE: The caller has the responsibility to allocate memory for @out_desc.
> + *
> + * Return AE_OK on success, AE_NOT_FOUND if the table is not found.
> + */
> +acpi_status acpi_get_table_desc(char *signature,
> + struct acpi_table_desc *out_desc)
> +{
> + int pos;
> +
> + for (pos = 0;
> + pos < acpi_gbl_root_table_list.current_table_count;
> + pos++) {
> + if (!ACPI_COMPARE_NAME
> + (&(acpi_gbl_root_table_list.tables[pos].signature),
> + signature))
> + continue;
> +
> + memcpy(out_desc, &acpi_gbl_root_table_list.tables[pos],
> + sizeof(struct acpi_table_desc));
> +
> + return_ACPI_STATUS(AE_OK);
> + }
> +
> + return_ACPI_STATUS(AE_NOT_FOUND);
> +}
> +
> /*******************************************************************************
> *
> * FUNCTION: acpi_get_table_header
> diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c
> index fa6b973..a2e4596 100644
> --- a/drivers/acpi/osl.c
> +++ b/drivers/acpi/osl.c
> @@ -53,6 +53,7 @@
> #include <acpi/acpi.h>
> #include <acpi/acpi_bus.h>
> #include <acpi/processor.h>
> +#include <acpi/acpixf.h>
>
> #define _COMPONENT ACPI_OS_SERVICES
> ACPI_MODULE_NAME("osl");
> @@ -750,6 +751,29 @@ void __init acpi_initrd_override(void *data, size_t size)
> }
> #endif /* CONFIG_ACPI_INITRD_TABLE_OVERRIDE */
>
> +#ifdef CONFIG_ACPI_NUMA
> +#include <asm/numa.h>
> +#include <linux/memblock.h>
> +
> +/*
> + * early_acpi_firmware_srat - Get the phys addr of SRAT provide by firmware.
s/provide/provided/
> + *
> + * This function iterate acpi_gbl_root_table_list, find SRAT and return the
Perhaps: "Iterate over acpi_gbl_root_table_list to find SRAT then return
its phys addr"
Though I wonder if this comment is even needed, as the iteration is done
in acpi_get_table_desc() (added above).
> + * phys addr of SRAT.
> + *
> + * Return the phys addr of SRAT, or 0 on error.
> + */
> +phys_addr_t __init early_acpi_firmware_srat()
> +{
> + struct acpi_table_desc table_desc;
> +
> + if (acpi_get_table_desc(ACPI_SIG_SRAT, &table_desc))
> + return 0;
> +
> + return table_desc.address;
> +}
> +#endif /* CONFIG_ACPI_NUMA */
> +
> static void acpi_table_taint(struct acpi_table_header *table)
> {
> pr_warn(PREFIX
[...]
> diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
> index 066873e..15b11d3 100644
> --- a/mm/memory_hotplug.c
> +++ b/mm/memory_hotplug.c
> @@ -106,10 +106,14 @@ void __init reserve_hotpluggable_memory(void)
> {
> phys_addr_t srat_paddr;
>
> - /* Try to find if SRAT is overrided */
> + /* Try to find out if SRAT is overrided */
> srat_paddr = early_acpi_override_srat();
> - if (!srat_paddr)
> - return;
> + if (!srat_paddr) {
> + /* Try to find SRAT from firmware if it wasn't overrided */
s/overrided/overridden/
> + srat_paddr = early_acpi_firmware_srat();
> + if (!srat_paddr)
> + return;
> + }
>
> /* Will reserve hotpluggable memory here */
> }
>
next prev parent reply other threads:[~2013-07-23 23:26 UTC|newest]
Thread overview: 152+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-19 7:59 [PATCH 00/21] Arrange hotpluggable memory as ZONE_MOVABLE Tang Chen
2013-07-19 7:59 ` Tang Chen
2013-07-19 7:59 ` [PATCH 01/21] acpi: Print Hot-Pluggable Field in SRAT Tang Chen
2013-07-19 7:59 ` Tang Chen
2013-07-23 18:48 ` Tejun Heo
2013-07-23 18:48 ` Tejun Heo
2013-07-23 19:15 ` Joe Perches
2013-07-23 19:15 ` Joe Perches
2013-07-23 19:20 ` Tejun Heo
2013-07-23 19:20 ` Tejun Heo
2013-07-23 19:26 ` Joe Perches
2013-07-23 19:26 ` Joe Perches
2013-07-24 1:46 ` Tang Chen
2013-07-24 1:46 ` Tang Chen
2013-07-19 7:59 ` [PATCH 02/21] memblock, numa: Introduce flag into memblock Tang Chen
2013-07-19 7:59 ` Tang Chen
2013-07-23 19:09 ` Tejun Heo
2013-07-23 19:09 ` Tejun Heo
2013-07-24 2:53 ` Tang Chen
2013-07-24 2:53 ` Tang Chen
2013-07-24 15:54 ` Tejun Heo
2013-07-24 15:54 ` Tejun Heo
2013-07-25 6:42 ` Tang Chen
2013-07-25 6:42 ` Tang Chen
2013-07-19 7:59 ` [PATCH 03/21] x86, acpi, numa, mem-hotplug: Introduce MEMBLK_HOTPLUGGABLE to reserve hotpluggable memory Tang Chen
2013-07-19 7:59 ` Tang Chen
2013-07-23 19:19 ` Tejun Heo
2013-07-23 19:19 ` Tejun Heo
2013-07-24 2:55 ` Tang Chen
2013-07-24 2:55 ` Tang Chen
2013-07-19 7:59 ` [PATCH 04/21] acpi: Remove "continue" in macro INVALID_TABLE() Tang Chen
2013-07-19 7:59 ` Tang Chen
2013-07-23 19:15 ` Tejun Heo
2013-07-23 19:15 ` Tejun Heo
2013-07-19 7:59 ` [PATCH 05/21] acpi: Introduce acpi_invalid_table() to check if a table is invalid Tang Chen
2013-07-19 7:59 ` Tang Chen
2013-07-19 7:59 ` [PATCH 06/21] x86, acpi: Split acpi_boot_table_init() into two parts Tang Chen
2013-07-19 7:59 ` Tang Chen
2013-07-19 7:59 ` [PATCH 07/21] x86, acpi: Initialize ACPI root table list earlier Tang Chen
2013-07-19 7:59 ` Tang Chen
2013-07-19 7:59 ` [PATCH 08/21] x86, acpi: Also initialize signature and length when parsing root table Tang Chen
2013-07-19 7:59 ` Tang Chen
2013-07-23 19:45 ` Tejun Heo
2013-07-23 19:45 ` Tejun Heo
2013-07-25 6:50 ` Tang Chen
2013-07-25 6:50 ` Tang Chen
2013-07-19 7:59 ` [PATCH 09/21] x86: Make get_ramdisk_{image|size}() global Tang Chen
2013-07-19 7:59 ` Tang Chen
2013-07-23 19:56 ` Tejun Heo
2013-07-23 19:56 ` Tejun Heo
2013-07-24 3:12 ` Tang Chen
2013-07-24 3:12 ` Tang Chen
2013-07-19 7:59 ` [PATCH 10/21] earlycpio.c: Fix the confusing comment of find_cpio_data() Tang Chen
2013-07-19 7:59 ` Tang Chen
2013-07-23 20:02 ` Tejun Heo
2013-07-23 20:02 ` Tejun Heo
2013-07-24 3:20 ` Tang Chen
2013-07-24 3:20 ` Tang Chen
2013-07-19 7:59 ` [PATCH 11/21] x86: get pg_data_t's memory from other node Tang Chen
2013-07-19 7:59 ` Tang Chen
2013-07-23 20:09 ` Tejun Heo
2013-07-23 20:09 ` Tejun Heo
2013-07-24 3:52 ` Tang Chen
2013-07-24 3:52 ` Tang Chen
2013-07-24 16:03 ` Tejun Heo
2013-07-24 16:03 ` Tejun Heo
2013-07-19 7:59 ` [PATCH 12/21] x86, acpi: Try to find if SRAT is overrided earlier Tang Chen
2013-07-19 7:59 ` Tang Chen
2013-07-23 20:27 ` Tejun Heo
2013-07-23 20:27 ` Tejun Heo
2013-07-24 6:57 ` Tang Chen
2013-07-24 6:57 ` Tang Chen
2013-07-19 7:59 ` [PATCH 13/21] x86, acpi: Try to find SRAT in firmware earlier Tang Chen
2013-07-19 7:59 ` Tang Chen
2013-07-23 20:49 ` Tejun Heo
2013-07-23 20:49 ` Tejun Heo
2013-07-24 10:12 ` Tang Chen
2013-07-24 10:12 ` Tang Chen
2013-07-24 15:55 ` Tejun Heo
2013-07-24 15:55 ` Tejun Heo
2013-07-23 23:26 ` Cody P Schafer [this message]
2013-07-23 23:26 ` Cody P Schafer
2013-07-24 10:16 ` Tang Chen
2013-07-24 10:16 ` Tang Chen
2013-07-19 7:59 ` [PATCH 14/21] x86, acpi, numa: Reserve hotpluggable memory at early time Tang Chen
2013-07-19 7:59 ` Tang Chen
2013-07-23 20:55 ` Tejun Heo
2013-07-23 20:55 ` Tejun Heo
2013-07-23 21:32 ` Tejun Heo
2013-07-23 21:32 ` Tejun Heo
2013-07-25 2:13 ` Tang Chen
2013-07-25 2:13 ` Tang Chen
2013-07-25 15:17 ` Tejun Heo
2013-07-25 15:17 ` Tejun Heo
2013-07-26 3:45 ` Tang Chen
2013-07-26 3:45 ` Tang Chen
2013-07-26 10:26 ` Tejun Heo
2013-07-26 10:26 ` Tejun Heo
2013-07-26 10:27 ` Tejun Heo
2013-07-26 10:27 ` Tejun Heo
2013-07-29 2:12 ` Tang Chen
2013-07-29 2:12 ` Tang Chen
2013-07-29 17:10 ` Tejun Heo
2013-07-29 17:10 ` Tejun Heo
2013-07-19 7:59 ` [PATCH 15/21] x86, acpi, numa: Don't reserve memory on nodes the kernel resides in Tang Chen
2013-07-19 7:59 ` Tang Chen
2013-07-23 20:59 ` Tejun Heo
2013-07-23 20:59 ` Tejun Heo
2013-07-25 2:34 ` Tang Chen
2013-07-25 2:34 ` Tang Chen
2013-07-19 7:59 ` [PATCH 16/21] x86, memblock, mem-hotplug: Free hotpluggable memory reserved by memblock Tang Chen
2013-07-19 7:59 ` Tang Chen
2013-07-23 21:00 ` Tejun Heo
2013-07-23 21:00 ` Tejun Heo
2013-07-25 2:35 ` Tang Chen
2013-07-25 2:35 ` Tang Chen
2013-07-19 7:59 ` [PATCH 17/21] page_alloc, mem-hotplug: Improve movablecore to {en|dis}able using SRAT Tang Chen
2013-07-19 7:59 ` Tang Chen
2013-07-23 21:04 ` Tejun Heo
2013-07-23 21:04 ` Tejun Heo
2013-07-23 21:11 ` Tejun Heo
2013-07-23 21:11 ` Tejun Heo
2013-07-25 3:50 ` Tang Chen
2013-07-25 3:50 ` Tang Chen
2013-07-25 15:09 ` Tejun Heo
2013-07-25 15:09 ` Tejun Heo
2013-07-26 3:58 ` Tang Chen
2013-07-26 3:58 ` Tang Chen
2013-07-19 7:59 ` [PATCH 18/21] x86, numa: Synchronize nid info in memblock.reserve with numa_meminfo Tang Chen
2013-07-19 7:59 ` Tang Chen
2013-07-23 21:25 ` Tejun Heo
2013-07-23 21:25 ` Tejun Heo
2013-07-25 4:09 ` Tang Chen
2013-07-25 4:09 ` Tang Chen
2013-07-25 15:05 ` Tejun Heo
2013-07-25 15:05 ` Tejun Heo
2013-07-26 4:00 ` Tang Chen
2013-07-26 4:00 ` Tang Chen
2013-07-19 7:59 ` [PATCH 19/21] x86, numa: Save nid when reserve memory into memblock.reserved[] Tang Chen
2013-07-19 7:59 ` Tang Chen
2013-07-19 7:59 ` [PATCH 20/21] x86, numa, acpi, memory-hotplug: Make movablecore=acpi have higher priority Tang Chen
2013-07-19 7:59 ` Tang Chen
2013-07-23 21:21 ` Tejun Heo
2013-07-23 21:21 ` Tejun Heo
2013-07-19 7:59 ` [PATCH 21/21] doc, page_alloc, acpi, mem-hotplug: Add doc for movablecore=acpi boot option Tang Chen
2013-07-19 7:59 ` Tang Chen
2013-07-23 21:21 ` Tejun Heo
2013-07-23 21:21 ` Tejun Heo
2013-07-25 3:53 ` Tang Chen
2013-07-25 3:53 ` Tang Chen
2013-07-22 2:48 ` [PATCH 00/21] Arrange hotpluggable memory as ZONE_MOVABLE Tang Chen
2013-07-22 2:48 ` Tang Chen
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=51EF1143.1020503@linux.vnet.ibm.com \
--to=cody@linux.vnet.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=gong.chen@linux.intel.com \
--cc=hpa@zytor.com \
--cc=isimatu.yasuaki@jp.fujitsu.com \
--cc=izumi.taku@jp.fujitsu.com \
--cc=jiang.liu@huawei.com \
--cc=jweiner@redhat.com \
--cc=laijs@cn.fujitsu.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lwoodman@redhat.com \
--cc=mgorman@suse.de \
--cc=mina86@mina86.com \
--cc=minchan@kernel.org \
--cc=mingo@elte.hu \
--cc=prarit@redhat.com \
--cc=riel@redhat.com \
--cc=tangchen@cn.fujitsu.com \
--cc=tglx@linutronix.de \
--cc=tj@kernel.org \
--cc=trenn@suse.de \
--cc=vasilis.liaskovitis@profitbricks.com \
--cc=wency@cn.fujitsu.com \
--cc=x86@kernel.org \
--cc=yanghy@cn.fujitsu.com \
--cc=yinghai@kernel.org \
--cc=zhangyanfei@cn.fujitsu.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.