[PATCH 0/2] kexec: accumulate and release the size of crashkernel

Carlo Bai carlo.bai at linux.alibaba.com
Fri Jul 22 04:37:19 PDT 2022


On 2022/7/5 9:56, Baoquan He wrote:
> On 07/04/22 at 07:41pm, Kaihao Bai wrote:
>> Currently x86 and arm64 support to reserve low memory range for
>> crashkernel. When crashkernel=Y,low is defined, the main kernel would
>> reserve another memblock (instead of crashkernel=X,high, which stored
>> in crashk_res) for crashkernel and store it in crashk_low_res.
>>
>> The implementations of get_crash_size and crash_shrink_size do not
>> consider the extra reserved memory range if it exists. Thus, firstly
>> accumulate this range on the size of crashkernel and export the size
>> by /sys/kernel/kexec_crash_size.
>>
>> If getting the input of /sys/kernel/kexec_crash_size, both reserved ranges
>> might be released if the new size is smaller than current size. The order
>> of release is (crashk_res -> crashk_low_res). Only if the new size defined
>> by the user is smaller than the size of low memory range, continue to
>> release the reserved low memory range after completely releasing the high
>> memory range.
> 
> Sorry, I don't like this patchset.
> 
> I bet you don't encounter a real problem in your product environment.
> Regarding crashkernel=,high|low, the ,low memory is for DMA and
> requirement from memory under lower range. The ,high meomry is for
> kernel/initrd loading, kernel data, user space program running. When
> you configure crashkernel= in your system, you need evaluate what
> value is suitable. /sys/kernel/kexec_crash_size is an interface you
> can make use of to tune the memory usage. People are not suggested to
> free all crashkernel reservation via the interface.
> 
> So, please leave this as is, unless you have a real case where this
> change is needed.
> 
> Thanks
> Baoquan

Sorry for the late reply.

Sincerely thanks for your reviewing, I don't have a real problem which 
needs to release part/all of the reserved low memory range of 
crashkernel. All I think is to change the interface more compatible with 
the reserved low memory range.

Besides, I think it's still confusing if we have actually reserved low 
memory range of crashkernel, but it does not reflect by the size of 
kexec_crash_size.

Thanks,
Kaihao Bai





More information about the kexec mailing list