The irqpoll kernel command line parameter might cause vmcore generation failure
An existing problem with the Nonvolatile Memory Express (NVMe) driver on the 64-bit ARM architecture on the Amazon Web Services (AWS) Graviton 1 processors, causes vmcore generation to fail when using the irqpoll kernel command line parameter. Consequently, in the event of a kernel crash, no vmcore file is dumped in the /var/crash/ directory.
You can solve this problem by removing the irqpoll parameter or by switching the instance type from AWS Graviton 1 to AWS Graviton 2 or AWS Graviton 3 processors. This article includes the workaround if kdump fails to generate the vmcore file when using the irqpoll parameter.
To work around this problem:
-
Append
irqpollto theKDUMP_COMMANDLINE_REMOVEvariable in the/etc/sysconfig/kdumpfile:# KDUMP_COMMANDLINE_REMOVE="hugepages hugepagesz slub_debug quiet log_buf_len swiotlb" -
Remove
irqpollfromKDUMP_COMMANDLINE_APPENDvariable in the/etc/sysconfig/kdumpfile:# KDUMP_COMMANDLINE_APPEND="irqpoll nr_cpus=1 reset_devices cgroup_disable=memory udev.children-max=2 panic=10 swiotlb=noforce novmcoredd" -
Restart the
kdumpservice:# systemctl restart kdump
The first kernel boots correctly and captures the vmcore file upon a kernel crash.
The kdump service might use a significant amount of crash kernel memory to dump the vmcore file. Ensure that the capture kernel has sufficient memory available for the kdump service.
For more details on this Known Issue see Bug#1654962 and the Amazon Elastic Compute Cloud (Amazon EC2) User Guide for Linux Instances to change the AWS Graviton instances.