81b414 Reduce kdump memory consumption by only installing needed NIC drivers

Authored and Committed by Coiby Xu 2 years ago
    Reduce kdump memory consumption by only installing needed NIC drivers
    
    Resolves: bz2076416
    Upstream: Fedora
    Conflict: None
    
    commit a65dde2d1083a57824aecd1840dea417c98c553d
    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>
    
        
file modified
+31 -0
file modified
+1 -1