The irqpoll kernel command line parameter might cause vmcore generation failure

Updated

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:

  1. Append irqpoll to the KDUMP_COMMANDLINE_REMOVE variable in the /etc/sysconfig/kdump file:

    # KDUMP_COMMANDLINE_REMOVE="hugepages hugepagesz slub_debug quiet  log_buf_len swiotlb"  
    
  2. Remove irqpoll from KDUMP_COMMANDLINE_APPEND variable in the /etc/sysconfig/kdump file:

    # KDUMP_COMMANDLINE_APPEND="irqpoll nr_cpus=1 reset_devices   cgroup_disable=memory udev.children-max=2 panic=10 swiotlb=noforce novmcoredd"
    
  3. Restart the kdump service:

    # 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.

SBR
Components
Article Type