Unnamed repository
Go to file
Coiby Xu 81b414d100 Reduce kdump memory consumption by only installing needed NIC drivers
Resolves: bz2076416
Upstream: Fedora
Conflict: None

commit a65dde2d10
Author: Coiby Xu <coxu@redhat.com>
Date:   Thu May 19 11:39:25 2022 +0800

    Reduce kdump memory consumption by only installing needed NIC drivers

    Even after having asked NM to stop managing a unneeded NIC, a NIC driver
    may still waste memory. For example, mlx5_core uses a substantial amount
    of memory during driver initialization,

    ======== Report format module_summary: ========
    Module mlx5_core using 350.2MB (89650 pages), peak allocation 367.4MB (94056 pages)
    Module squashfs using 13.1MB (3360 pages), peak allocation 13.1MB (3360 pages)
    Module overlay using 2.1MB (550 pages), peak allocation 2.2MB (555 pages)
    Module dns_resolver using 0.9MB (219 pages), peak allocation 5.2MB (1338 pages)
    Module mlxfw using 0.7MB (172 pages), peak allocation 5.3MB (1349 pages)
    ======== Report format module_summary END ========

    ======== Report format module_top: ========
    Top stack usage of module mlx5_core:
      (null) Pages: 89650 (peak: 94056)
        ret_from_fork (0xffffda088b4165f8) Pages: 60007 (peak: 60007)
          kthread (0xffffda088b4bd7e4) Pages: 60007 (peak: 60007)
            worker_thread (0xffffda088b4b48d0) Pages: 60007 (peak: 60007)
              process_one_work (0xffffda088b4b3f40) Pages: 60007 (peak: 60007)
                work_for_cpu_fn (0xffffda088b4aef00) Pages: 53906 (peak: 53906)
                  local_pci_probe (0xffffda088b9e1e44) Pages: 53906 (peak: 53906)
                    probe_one mlx5_core (0xffffda084f899cc8) Pages: 53518 (peak: 53518)
                      mlx5_init_one mlx5_core (0xffffda084f8994ac) Pages: 49756 (peak: 49756)
                        mlx5_function_setup.constprop.0 mlx5_core (0xffffda084f899100) Pages: 44434 (eak: 44434)
                          mlx5_satisfy_startup_pages mlx5_core (0xffffda084f8a4f24) Pages: 44434 (peak: 44434)
                        mlx5_function_setup.constprop.0 mlx5_core (0xffffda084f899078) Pages: 5285 (peak: 5285)
                          mlx5_cmd_init mlx5_core (0xffffda084f89e414) Pages: 4818 (peak: 4818)
                            mlx5_alloc_cmd_msg mlx5_core (0xffffda084f89aaa0) Pages: 4403 (peak: 4403)

    This memory consumption is completely unnecessary when kdump doesn't need
    this NIC. Only install needed NIC drivers to prevent this kind of waste.

    Note
    1. this patch depends on [1] to ask dracut to not install NIC drivers.
    2. "ethtool -i" somehow fails to get the vlan driver
    3. team.ko doesn't depend on the team mode drivers so we need to install
       the team mode drivers manually.

    [1] https://github.com/dracutdevs/dracut/pull/1789

    Signed-off-by: Coiby Xu <coxu@redhat.com>
    Reviewed-by: Thomas Haller <thaller@redhat.com>
    Reviewed-by: Philipp Rudo <prudo@redhat.com>

Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-11-23 09:42:18 +08:00
tests Merged update from upstream sources 2020-11-20 12:35:49 +00:00
.editorconfig kdump-lib-initramfs.sh: prepare to be a POSIX compatible lib 2021-11-09 21:45:15 +08:00
.gitignore RHEL 9.0.0 Alpha bootstrap 2020-10-15 14:45:57 +02:00
60-kdump.install Write to /var/lib/kdump if $KDUMP_BOOTDIR not writable 2021-06-23 09:34:40 +08:00
92-crashkernel.install Prefix reset-crashkernel-{for-installed_kernel,after-update} with underscore 2022-10-27 14:47:57 +08:00
98-kexec.rules RHEL 9.0.0 Alpha bootstrap 2020-10-15 14:45:57 +02:00
98-kexec.rules.ppc64 Stop reloading kdump service on CPU hotplug event for FADump 2021-05-14 14:27:03 +08:00
crashkernel-howto.txt remind the users to run zipl after calling grubby on s390x 2022-09-19 09:10:54 +08:00
dracut-early-kdump-module-setup.sh dracut-early-kdump-module-setup.sh: install xargs and kdump-lib-initramfs.sh 2022-01-06 14:31:33 +08:00
dracut-early-kdump.sh dracut-early-kdump.sh: make it POSIX compatible 2021-11-10 10:27:00 +08:00
dracut-fadump-init-fadump.sh fadump-init: clean up mount points properly 2021-07-20 15:43:43 +08:00
dracut-fadump-module-setup.sh fadump: isolate fadump initramfs image within the default one 2021-07-20 15:43:11 +08:00
dracut-kdump-capture.service RHEL 9.0.0 Alpha bootstrap 2020-10-15 14:45:57 +02:00
dracut-kdump-emergency.service Merge kdump-error-handler.sh into kdump.sh 2021-11-09 21:45:31 +08:00
dracut-kdump-emergency.target RHEL 9.0.0 Alpha bootstrap 2020-10-15 14:45:57 +02:00
dracut-kdump.sh Fix the sync issue for dump_fs 2022-11-09 15:54:14 +08:00
dracut-module-setup.sh Reduce kdump memory consumption by only installing needed NIC drivers 2022-11-23 09:42:18 +08:00
dracut-monitor_dd_progress RHEL 9.0.0 Alpha bootstrap 2020-10-15 14:45:57 +02:00
early-kdump-howto.txt RHEL 9.0.0 Alpha bootstrap 2020-10-15 14:45:57 +02:00
fadump-howto.txt update fadump-howto 2022-05-17 09:23:10 +00:00
gating.yaml Add gating.yaml to RHEL-9 kexec-tools 2021-06-08 20:03:41 +08:00
kdump-dep-generator.sh Merged update from upstream sources 2021-01-22 08:12:00 +00:00
kdump-in-cluster-environment.txt RHEL 9.0.0 Alpha bootstrap 2020-10-15 14:45:57 +02:00
kdump-lib-initramfs.sh lvm.conf should be check modified if lvm2 thinp enabled 2022-11-09 15:57:28 +08:00
kdump-lib.sh Add lvm2 thin provision dump target checker 2022-11-09 15:56:18 +08:00
kdump-logger.sh Add header comment for POSIX compliant scripts 2021-11-10 10:26:54 +08:00
kdump-migrate-action.sh kdump/ppc64: rebuild initramfs image after migration 2021-12-03 18:13:09 +08:00
kdump-restart.sh kdump/ppc64: rebuild initramfs image after migration 2021-12-03 18:13:09 +08:00
kdump-udev-throttler RHEL 9.0.0 Alpha bootstrap 2020-10-15 14:45:57 +02:00
kdump.conf virtiofs support for kexec-tools 2022-10-26 10:24:57 +08:00
kdump.conf.5 introduce the auto_reset_crashkernel option to kdump.conf 2022-01-06 03:55:25 +00:00
kdump.service Merged update from upstream sources 2020-11-05 05:34:29 +00:00
kdump.sysconfig kdump.sysconfig*: add ignition.firstboot to KDUMP_COMMANDLINE_REMOVE 2022-05-27 10:08:59 +08:00
kdump.sysconfig.aarch64 kdump.sysconfig*: add ignition.firstboot to KDUMP_COMMANDLINE_REMOVE 2022-05-27 10:08:59 +08:00
kdump.sysconfig.i386 kdump.sysconfig*: add ignition.firstboot to KDUMP_COMMANDLINE_REMOVE 2022-05-27 10:08:59 +08:00
kdump.sysconfig.ppc64 kdump.sysconfig*: add ignition.firstboot to KDUMP_COMMANDLINE_REMOVE 2022-05-27 10:08:59 +08:00
kdump.sysconfig.ppc64le kdump.sysconfig*: add ignition.firstboot to KDUMP_COMMANDLINE_REMOVE 2022-05-27 10:08:59 +08:00
kdump.sysconfig.s390x kdump.sysconfig*: add ignition.firstboot to KDUMP_COMMANDLINE_REMOVE 2022-05-27 10:08:59 +08:00
kdump.sysconfig.x86_64 kdump.sysconfig*: add ignition.firstboot to KDUMP_COMMANDLINE_REMOVE 2022-05-27 10:08:59 +08:00
kdumpctl Don't check fs modified when dump target is lvm2 thinp 2022-11-11 11:53:13 +08:00
kdumpctl.8 add man documentation for kdumpctl get-default-crashkernel 2022-05-17 09:23:10 +00:00
kexec-kdump-howto.txt update kexec-kdump-howto 2022-05-17 09:23:10 +00:00
kexec-tools.spec Release 2.0.25-5 2022-11-11 13:25:21 +08:00
live-image-kdump-howto.txt RHEL 9.0.0 Alpha bootstrap 2020-10-15 14:45:57 +02:00
mkdumprd Reduce kdump memory consumption by only installing needed NIC drivers 2022-11-23 09:42:18 +08:00
mkdumprd.8 Merged update from upstream sources 2020-12-23 10:00:07 +00:00
mkfadumprd Seperate dracut and dracut-squash compressor for zstd 2022-10-26 10:16:16 +08:00
README RHEL 9.0.0 Alpha bootstrap 2020-10-15 14:45:57 +02:00
sources Rebase makedumpfile to 1.7.2 2022-11-01 11:04:23 +08:00
supported-kdump-targets.txt Update supported-kdump-targets.txt 2021-11-26 13:38:12 +08:00
zanata-notes.txt RHEL 9.0.0 Alpha bootstrap 2020-10-15 14:45:57 +02:00

Adding a patch to kexec-tools
=============================
There is a mailing list kexec@lists.fedoraproject.org where all the dicussion
related to fedora kexec-tools happen. All the patches are posted there for
inclusion and committed to kexec-tools after review.

So if you want your patches to be included in fedora kexec-tools package,
post these to kexec@lists.fedoraproject.org.

One can subscribe to list and browse through archives here.

https://admin.fedoraproject.org/mailman/listinfo/kexec