Re: [PATCH] crash: Support high memory reservation for range syntax
From: Youling Tang
Date: Fri Apr 17 2026 - 05:24:01 EST
On 4/15/26 19:29, Baoquan He wrote:
On 04/09/26 at 09:55am, Youling Tang wrote:
Hi, BaoquanOK, do you have a concrete case? e.g in your distros, what will you set
On 4/8/26 21:32, Baoquan He wrote:
On 04/08/26 at 10:01am, Sourabh Jain wrote:Yes, regular users generally don't know about high memory and low memory,
Hello Youling,Sorry for late response. And I have to say sorry because I have some
On 04/04/26 13:11, Youling Tang wrote:
From: Youling Tang <tangyouling@xxxxxxxxxx>Support for high crashkernel reservation has been added to
The crashkernel range syntax (range1:size1[,range2:size2,...]) allows
automatic size selection based on system RAM, but it always reserves
from low memory. When a large crashkernel is selected, this can
consume most of the low memory, causing subsequent hardware
hotplug or drivers requiring low memory to fail due to allocation
failures.
address the above problem.
However, high crashkernel reservation is not supported with
range-based crashkernel kernel command-line arguments.
For example: crashkernel=0M-1G:100M,1G-4G:160M,4G-8G:192M
Many users, including some distributions, use range-based
crashkernel configuration. So, adding support for high crashkernel
reservation with range-based configuration would be useful.
negative tendency on this change.
We use crashkernel=xM|G and crashkernel=range1:size1[,range2:size2,...]
as default setting, so that people only need to set suggested amount
of memory. While crashkernel=,high|low is for advanced user to customize
their crashkernel value. In that case, user knows what's high memory and
low memory, and how much is needed separately to achieve their goal, e.g
saving low memory, taking away more high memory.
To be honest, above grammers sounds simple, right? I believe both of you
know very well how complicated the current crashkernel code is. I would
suggest not letting them becomre more and more complicated by extending
the grammer further and further. Unless you meet unavoidable issue with
the existing grammer.
Here comes my question, do you meet unavoidable issue with the existing
grammer when you use crashkernel=range1:size1[,range2:size2,...] and
think it's not satisfactory, and at the same time crashkernel=,high|low
can't meet your demand either?
and probably don't know how much crashkernel memory should be reserved
either. They mostly just use the default crashkernel parameters configured
by the distribution.
For advanced users, the current grammar is sufficient, because
'crashkernel=<range1>:<size1>[,<range2>:<size2>,...][@offset],>boundary'
can definitely be replaced with 'crashkernel=size,high'.
The main purpose of this patch is to provide distributions with a more
reasonable default parameter configuration (satisfying most requirements),
without having to set different distribution default parameters for
different
scenarios (physical machines, virtual machines) and different machine
models.
with this patchset applied? Let's see if it can cover all cases with one
simple and satisfying parameter.
For our production deployment across various hardware configurations
(physical servers, VMs with different memory sizes), I'm planning to
use the following crashkernel configuration:
crashkernel=1G-4G:256M,4G-12G:384M,12G-48G:512M,48G-128G:768M,128G-:1024M,>384M
Thanks,
Youling.