enhance makedumpfile to dump process list from vmcore

HAGIO KAZUHITO(萩尾 一仁) k-hagio-ab at nec.com
Mon Jun 24 01:08:21 PDT 2024


Hi Dave,

thank you for your comments.

On 2024/06/24 10:52, Dave Young wrote:
> Hi Kazu,
> 
> On Wed, 19 Jun 2024 at 13:45, HAGIO KAZUHITO(萩尾 一仁) <k-hagio-ab at nec.com> wrote:
>>
>> On 2024/06/06 3:10, Prasad Koya wrote:
>>> Hi
>>>
>>> We use makedumpfile to read the dmesg buffer from the vmcore. We are
>>> working on adding a feature to makedumpfile to extract the "process
>>> list" from /proc/vmcore. Our main use case is to save the processes
>>> that were running at the time of kernel crash to a file on the
>>> permanent storage from the kdump kernel. We intend to read a handful
>>> of useful data for each running task: pid, parent pid, real parent
>>> pid, priority, nice value, RSS, VM size, command, utime, stime, OOM
>>> score.
>>>
>>> Process list from vmcore can probably be read using crash utility, but
>>> in our embedded system using makedumpfile to do that job makes sense
>>> for us.
>>>
>>> If such an option is useful for the general users of makedumpfile,
>>> we'd like to get more inputs and contribute to this feature.
>>
>> Hi Prasad,
>>
>> thank you for sharing the idea.  But sorry, currently we are not
>> interested in implementing such a big function in makedumpfile.
>>
>> The dmesg buffer is the most important information to be able to
>> determine the cause of a crash only with it, so the --dump-dmesg option
>> was implemented in makedumpfile first once upon a time.  But now we have
>> handier vmcore-dmesg command in kexec-tools, so we don't intend to add
>> other functions to makedumpfile than making a dumpfile.
>>
>> I'm not sure whether these are doable, but I would suggest a few ideas
>> instead:
>> - make e.g. vmcore-process-list command like vmcore-dmesg.
> 
> Not sure if this is worth either.

I also don't think that this (dumping a process list in 2nd kernel) is 
worth such a (probably) big effort, because we can make a dumpfile..

I assumed that they cannot create a dumpfile, because they know that the 
crash-utility can read it from a vmcore.  I'm not sure why makedumpfile 
doing it makes sense to them..

>   I guess it can be done with some
> crash tool scripts or a crash plugin?

Yes, agree.

> 
>> - use panic notifier to dump process list to the dmesg buffer before
>> kdump, and use vmcore-dmesg to get it.
> 
> It is not recommended to add these before kdump if people still want a
> reliable kdump.

Agree, a panic situation is unstable, I don't intend to recommend doing 
this generally.  I just thought that if they cannot create a dumpfile, 
maybe they can make a module that uses the notifier, as a last resort.

Thanks,
Kazu


More information about the kexec mailing list