All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Hildenbrand <david@redhat.com>
To: Eric DeVolder <eric.devolder@oracle.com>, Baoquan He <bhe@redhat.com>
Cc: linux-kernel@vger.kernel.org, x86@kernel.org,
	kexec@lists.infradead.org, ebiederm@xmission.com,
	dyoung@redhat.com, vgoyal@redhat.com, tglx@linutronix.de,
	mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com,
	hpa@zytor.com, nramas@linux.microsoft.com,
	thomas.lendacky@amd.com, robh@kernel.org, efault@gmx.de,
	rppt@kernel.org, konrad.wilk@oracle.com,
	boris.ostrovsky@oracle.com
Subject: Re: [PATCH v4 02/10] crash hp: Introduce CRASH_HOTPLUG configuration options
Date: Wed, 2 Mar 2022 10:20:34 +0100	[thread overview]
Message-ID: <f23efdc0-20c8-ccfd-f54d-69a9b4ee531f@redhat.com> (raw)
In-Reply-To: <10d67f14-c5fe-0a17-e8b5-97702823cc1c@oracle.com>

On 01.03.22 21:04, Eric DeVolder wrote:
> 
> 
> On 2/22/22 21:25, Baoquan He wrote:
>> On 02/09/22 at 02:56pm, Eric DeVolder wrote:
>>> Support for CPU and memory hotplug for crash is controlled by the
>>> CRASH_HOTPLUG configuration option, introduced by this patch.
>>>
>>> The CRASH_HOTPLUG_ELFCOREHDR_SZ related configuration option is
>>> also introduced with this patch.
>>>
>>> Signed-off-by: Eric DeVolder <eric.devolder@oracle.com>
>>> ---
>>>   arch/x86/Kconfig | 26 ++++++++++++++++++++++++++
>>>   1 file changed, 26 insertions(+)
>>>
>>> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
>>> index ebe8fc76949a..4e3374edab02 100644
>>> --- a/arch/x86/Kconfig
>>> +++ b/arch/x86/Kconfig
>>> @@ -2060,6 +2060,32 @@ config CRASH_DUMP
>>>   	  (CONFIG_RELOCATABLE=y).
>>>   	  For more details see Documentation/admin-guide/kdump/kdump.rst
>>>   
>>> +config CRASH_HOTPLUG
>>> +	bool "kernel updates of crash elfcorehdr"
>>> +	depends on CRASH_DUMP && (HOTPLUG_CPU || MEMORY_HOTPLUG) && KEXEC_FILE
>>> +	help
>>> +	  Enable the kernel to update the crash elfcorehdr (which contains
>>> +	  the list of CPUs and memory regions) directly when hot plug/unplug
>>> +	  of CPUs or memory. Otherwise userspace must monitor these hot
>>> +	  plug/unplug change notifications via udev in order to
>>> +	  unload-then-reload the crash kernel so that the list of CPUs and
>>> +	  memory regions is kept up-to-date. Note that the udev CPU and
>>> +	  memory change notifications still occur (however, userspace is not
>>> +	  required to monitor for crash dump purposes).
>>> +
>>> +config CRASH_HOTPLUG_ELFCOREHDR_SZ
>>> +	depends on CRASH_HOTPLUG
>>> +	int
>>> +	default 131072
>>> +	help
>>> +	  Specify the maximum size of the elfcorehdr buffer/segment.
>>> +	  The 128KiB default is sized so that it can accommodate 2048
>>> +	  Elf64_Phdr, where each Phdr represents either a CPU or a
>>> +	  region of memory.
>>> +	  For example, this size can accommodate hotplugging a machine
>>> +	  with up to 1024 CPUs and up to 1024 memory regions (e.g. 1TiB
>>> +	  with 1024 1GiB memory DIMMs).
>>
>> This example of memory could be a little misleading. The memory regions
>> may not be related to memory DIMMs. System could split them into many
>> smaller regions during bootup.
> 
> I changed "with 1024 1GiB memory DIMMs" to "with 1024 1GiB hotplug memories".
> eric

It's still not quite precise. Essentially it's the individual "System
RAM" entries in /proc/iomem

Boot memory (i.e., a single DIMM) might be represented by multiple
entries due to rearranged holes (by the BIOS).

While hoplugged DIMMs (under virt!) are usually represented using a
single range, it can be different on physical machines. Last but not
least, dax/kmem and virtio-mem behave in a different way.

-- 
Thanks,

David / dhildenb


WARNING: multiple messages have this Message-ID (diff)
From: David Hildenbrand <david@redhat.com>
To: kexec@lists.infradead.org
Subject: [PATCH v4 02/10] crash hp: Introduce CRASH_HOTPLUG configuration options
Date: Wed, 2 Mar 2022 10:20:34 +0100	[thread overview]
Message-ID: <f23efdc0-20c8-ccfd-f54d-69a9b4ee531f@redhat.com> (raw)
In-Reply-To: <10d67f14-c5fe-0a17-e8b5-97702823cc1c@oracle.com>

On 01.03.22 21:04, Eric DeVolder wrote:
> 
> 
> On 2/22/22 21:25, Baoquan He wrote:
>> On 02/09/22 at 02:56pm, Eric DeVolder wrote:
>>> Support for CPU and memory hotplug for crash is controlled by the
>>> CRASH_HOTPLUG configuration option, introduced by this patch.
>>>
>>> The CRASH_HOTPLUG_ELFCOREHDR_SZ related configuration option is
>>> also introduced with this patch.
>>>
>>> Signed-off-by: Eric DeVolder <eric.devolder@oracle.com>
>>> ---
>>>   arch/x86/Kconfig | 26 ++++++++++++++++++++++++++
>>>   1 file changed, 26 insertions(+)
>>>
>>> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
>>> index ebe8fc76949a..4e3374edab02 100644
>>> --- a/arch/x86/Kconfig
>>> +++ b/arch/x86/Kconfig
>>> @@ -2060,6 +2060,32 @@ config CRASH_DUMP
>>>   	  (CONFIG_RELOCATABLE=y).
>>>   	  For more details see Documentation/admin-guide/kdump/kdump.rst
>>>   
>>> +config CRASH_HOTPLUG
>>> +	bool "kernel updates of crash elfcorehdr"
>>> +	depends on CRASH_DUMP && (HOTPLUG_CPU || MEMORY_HOTPLUG) && KEXEC_FILE
>>> +	help
>>> +	  Enable the kernel to update the crash elfcorehdr (which contains
>>> +	  the list of CPUs and memory regions) directly when hot plug/unplug
>>> +	  of CPUs or memory. Otherwise userspace must monitor these hot
>>> +	  plug/unplug change notifications via udev in order to
>>> +	  unload-then-reload the crash kernel so that the list of CPUs and
>>> +	  memory regions is kept up-to-date. Note that the udev CPU and
>>> +	  memory change notifications still occur (however, userspace is not
>>> +	  required to monitor for crash dump purposes).
>>> +
>>> +config CRASH_HOTPLUG_ELFCOREHDR_SZ
>>> +	depends on CRASH_HOTPLUG
>>> +	int
>>> +	default 131072
>>> +	help
>>> +	  Specify the maximum size of the elfcorehdr buffer/segment.
>>> +	  The 128KiB default is sized so that it can accommodate 2048
>>> +	  Elf64_Phdr, where each Phdr represents either a CPU or a
>>> +	  region of memory.
>>> +	  For example, this size can accommodate hotplugging a machine
>>> +	  with up to 1024 CPUs and up to 1024 memory regions (e.g. 1TiB
>>> +	  with 1024 1GiB memory DIMMs).
>>
>> This example of memory could be a little misleading. The memory regions
>> may not be related to memory DIMMs. System could split them into many
>> smaller regions during bootup.
> 
> I changed "with 1024 1GiB memory DIMMs" to "with 1024 1GiB hotplug memories".
> eric

It's still not quite precise. Essentially it's the individual "System
RAM" entries in /proc/iomem

Boot memory (i.e., a single DIMM) might be represented by multiple
entries due to rearranged holes (by the BIOS).

While hoplugged DIMMs (under virt!) are usually represented using a
single range, it can be different on physical machines. Last but not
least, dax/kmem and virtio-mem behave in a different way.

-- 
Thanks,

David / dhildenb



  reply	other threads:[~2022-03-02  9:20 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-09 19:56 [PATCH v4 00/10] crash: Kernel handling of CPU and memory hot un/plug Eric DeVolder
2022-02-09 19:56 ` Eric DeVolder
2022-02-09 19:56 ` [PATCH v4 01/10] crash: fix minor typo/bug in debug message Eric DeVolder
2022-02-09 19:56   ` Eric DeVolder
2022-02-09 19:56 ` [PATCH v4 02/10] crash hp: Introduce CRASH_HOTPLUG configuration options Eric DeVolder
2022-02-09 19:56   ` Eric DeVolder
2022-02-23  3:25   ` Baoquan He
2022-02-23  3:25     ` Baoquan He
2022-03-01 20:04     ` Eric DeVolder
2022-03-01 20:04       ` Eric DeVolder
2022-03-02  9:20       ` David Hildenbrand [this message]
2022-03-02  9:20         ` David Hildenbrand
2022-03-03 10:22         ` Baoquan He
2022-03-03 10:22           ` Baoquan He
2022-03-03 11:36           ` David Hildenbrand
2022-03-03 11:36             ` David Hildenbrand
2022-03-03 12:08             ` Baoquan He
2022-03-03 12:08               ` Baoquan He
2022-03-03 15:31               ` Eric DeVolder
2022-03-03 15:31                 ` Eric DeVolder
2022-02-09 19:56 ` [PATCH v4 03/10] crash hp: definitions and prototype changes Eric DeVolder
2022-02-09 19:56   ` Eric DeVolder
2022-02-23  3:43   ` Baoquan He
2022-02-23  3:43     ` Baoquan He
2022-03-01 20:04     ` Eric DeVolder
2022-03-01 20:04       ` Eric DeVolder
2022-02-09 19:57 ` [PATCH v4 04/10] crash hp: prototype change for crash_prepare_elf64_headers Eric DeVolder
2022-02-09 19:57   ` Eric DeVolder
2022-02-23  3:46   ` Baoquan He
2022-02-23  3:46     ` Baoquan He
2022-03-01 20:05     ` Eric DeVolder
2022-03-01 20:05       ` Eric DeVolder
2022-02-09 19:57 ` [PATCH v4 05/10] crash hp: introduce helper functions un/map_crash_pages Eric DeVolder
2022-02-09 19:57   ` Eric DeVolder
2022-02-23  3:58   ` Baoquan He
2022-02-23  3:58     ` Baoquan He
2022-03-01 20:06     ` Eric DeVolder
2022-03-01 20:06       ` Eric DeVolder
2022-02-09 19:57 ` [PATCH v4 06/10] crash hp: generic crash hotplug support infrastructure Eric DeVolder
2022-02-09 19:57   ` Eric DeVolder
2022-02-23  3:59   ` Baoquan He
2022-02-23  3:59     ` Baoquan He
2022-03-01 20:07     ` Eric DeVolder
2022-03-01 20:07       ` Eric DeVolder
2022-02-09 19:57 ` [PATCH v4 07/10] crash hp: exclude elfcorehdr from the segment digest Eric DeVolder
2022-02-09 19:57   ` Eric DeVolder
2022-02-23  4:00   ` Baoquan He
2022-02-23  4:00     ` Baoquan He
2022-03-01 20:07     ` Eric DeVolder
2022-03-01 20:07       ` Eric DeVolder
2022-02-09 19:57 ` [PATCH v4 08/10] crash hp: exclude hot remove cpu from elfcorehdr notes Eric DeVolder
2022-02-09 19:57   ` Eric DeVolder
2022-02-23  4:04   ` Baoquan He
2022-02-23  4:04     ` Baoquan He
2022-03-01 20:08     ` Eric DeVolder
2022-03-01 20:08       ` Eric DeVolder
2022-02-09 19:57 ` [PATCH v4 09/10] crash hp: Add x86 crash hotplug support for kexec_file_load Eric DeVolder
2022-02-09 19:57   ` Eric DeVolder
2022-02-23  4:10   ` Baoquan He
2022-02-23  4:10     ` Baoquan He
2022-03-01 20:12     ` Eric DeVolder
2022-03-01 20:12       ` Eric DeVolder
2022-03-03 10:27       ` Baoquan He
2022-03-03 10:27         ` Baoquan He
2022-02-09 19:57 ` [PATCH v4 10/10] crash hp: Add x86 crash hotplug support for kexec_load Eric DeVolder
2022-02-09 19:57   ` Eric DeVolder
2022-02-21  4:08 ` [PATCH v4 00/10] crash: Kernel handling of CPU and memory hot un/plug Baoquan He
2022-02-21  4:08   ` Baoquan He

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=f23efdc0-20c8-ccfd-f54d-69a9b4ee531f@redhat.com \
    --to=david@redhat.com \
    --cc=bhe@redhat.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=bp@alien8.de \
    --cc=dave.hansen@linux.intel.com \
    --cc=dyoung@redhat.com \
    --cc=ebiederm@xmission.com \
    --cc=efault@gmx.de \
    --cc=eric.devolder@oracle.com \
    --cc=hpa@zytor.com \
    --cc=kexec@lists.infradead.org \
    --cc=konrad.wilk@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=nramas@linux.microsoft.com \
    --cc=robh@kernel.org \
    --cc=rppt@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=thomas.lendacky@amd.com \
    --cc=vgoyal@redhat.com \
    --cc=x86@kernel.org \
    /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.