[PATCH] kexec-kdump-howto: Add notes on how to use multiple cpus on x86 system

Vivek Goyal vgoyal at redhat.com
Wed Mar 26 16:52:21 UTC 2014

On Wed, Mar 26, 2014 at 10:49:07AM +0100, HATAYAMA Daisuke wrote:
> Add notes on how to use multiple cpus on x86 system. That is, these
> are about two kernel options, disable_cpus_apicid and nr_cpus.
> I also wrote note on memory consumption issue about nr_cpus option.
> In the notes, I kept x86 hardware issue just a little in order to
> avoid too detailed description.
> I didn't write any concrete example on makedumpfile usage for parallel
> processing since we have not decided official way on kexec-tools.
> Signed-off-by: HATAYAMA Daisuke <d.hatayama at jp.fujitsu.com>
> ---
>  kexec-kdump-howto.txt | 33 +++++++++++++++++++++++++++++++++
>  1 file changed, 33 insertions(+)
> diff --git a/kexec-kdump-howto.txt b/kexec-kdump-howto.txt
> index 7ffeab9..3600ec4 100644
> --- a/kexec-kdump-howto.txt
> +++ b/kexec-kdump-howto.txt
> @@ -537,6 +537,39 @@ dump data from stdard input to a normal dumpfile (readable with analysis
>  tools).
>  For example: "makedumpfile -R vmcore < vmcore.flat"
> +Notes on how to use multiple cpus on a capture kernel on x86 system

This file is getting bigger and it is becoming difficult to find
information. I am thinking that we can create a new section just
before "Debugging Tips". Say "Parallel Dumping Operation". 

Parallel Dumping Operation
<Explain what parallel dumping is. How one can take advantage of on
multi tera byte machines and then explain how to bring up multiple cpus>

> +
> +To use multiple cpus on a capture kernel on x86 system:
> +
> +- First, confirm that you are using a sufficiently new kernel version
> +  that supports disable_cpu_apicid kernel option as a capture kernel,
> +  which is needed to avoid x86 specific hardware issue (*). The
> +  disable_cpu_apicid kernel option is automatically appended by
> +  kdumpctl script and is ignored if the kernel doesn't support
> +  it. Thus, you don't need to do anything else except for the
> +  confirmation.
> +
> +- Then, you need to specify how many cpus you use in a capture kernel
> +  by specifying the number of cpus in nr_cpus kernel option in
> +  /etc/sysconfig/kdump. nr_cpus is 1 at default.
> +
> +Note strongly that you should use necessary and sufficnet amount of
> +cpus on a capture kernel. IOW, don't use too many cpus on a capture
> +kernel, or the capture kernel easily leads to panic due to Out Of
> +Memory.
> +
> +There are kernel data structures and drivers allocating memory in
> +proportion to the number of cpus. More you use cpus, more and more
> +memory system consumes. Memory is rare, limited resource in a capture
> +kernel. Reserved memory should be kept as less as possible. When
> +configuring nr_cpus option, you should confirm that kdump certainly
> +successfully works without leading to panic due to Out Of Memory on a
> +capture kernel.
> +
> +(*) Without disable_cpu_apicid kernel option, capture kernel leads to
> +hang, system reset or power-off at boot, depending on your system and
> +runtime situation at the time of crash.

Hatayama, it is better to first explain why bringing up multiple cpus is
useful and what situations and then explain how to bring up multiple

We need to talk about parallel dumping and how to use it.


More information about the kexec mailing list