Bug 1446698 - Optimize kdump service start time in case of no initramfs rebuild
Summary: Optimize kdump service start time in case of no initramfs rebuild
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: kexec-tools
Version: 7.4
Hardware: Unspecified
OS: Linux
unspecified
medium
Target Milestone: rc
: ---
Assignee: kdump team
QA Contact: Emma Wu
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-04-28 15:53 UTC by Xunlei Pang
Modified: 2017-08-01 09:33 UTC (History)
9 users (show)

Fixed In Version: kexec-tools-2.0.14-10.el7
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-08-01 09:33:50 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2017:2300 0 normal SHIPPED_LIVE kexec-tools bug fix and enhancement update 2017-08-01 12:40:58 UTC

Description Xunlei Pang 2017-04-28 15:53:18 UTC
Description of problem:
kdump service takes a few seconds to start even no need to rebuild initramfs, which is a little longer compared to other systemd services, it may affects the system boot time a little, we better optimize it as possible as we can.

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:
kdump service takes a few seconds to start even no need to rebuild initramfs.
The main root cause of this is the use of "lsinitrd".

Expected results:
kdump service starts every boot quickly.

Additional info:

Comment 2 Ziyue Yang 2017-05-03 02:10:09 UTC
After some tests I found that the list_modules and list_files function in lsinitrd would cause 13%~15% overhead on kdumpctl start with or without rebuilding initramfs.

The point is that, the scripts calling lsinitrd may not need all the information currently given by it. For example, the image built by dracut will not change if list_modules and list_files calls are removed, according to my experiments.

Maybe we need make lsinitrd more customizable, in which condition we can selectively show image information that we want only.

Comment 3 Ziyue Yang 2017-05-03 03:17:09 UTC
If argument -m(--mod) is not given, the $modules variable controlled by would be set to 0, which leads to list_modules and list_files to be executed, which caused serious overhead:

if [ "$modules" -eq 1 ]; then
    list_modules
    echo "========================================================================"
else
    echo -n "Arguments: "
    $CAT "$image" | cpio --extract --verbose --quiet --to-stdout -- \
        $(dracutlibdirs build-parameter.txt) 2>/dev/null
    echo
    list_modules
    list_files

Comment 6 Xunlei Pang 2017-05-11 02:39:10 UTC
There is a bug in the last patch that will cause some regression, I will append a fix later.

Comment 9 glennduffy 2017-05-30 19:07:45 UTC
I am running into this issue too. Can someone provide instructions on how to configure kdump to mitigate this?

Comment 10 Xunlei Pang 2017-05-31 01:54:49 UTC
(In reply to glennduffy from comment #9)
> I am running into this issue too. Can someone provide instructions on how to
> configure kdump to mitigate this?

It's been solved in the latest version(since kexec-tools-2.0.14-10.el7), please update it.

Comment 12 errata-xmlrpc 2017-08-01 09:33:50 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2017:2300


Note You need to log in before you can comment on or make changes to this bug.