On Thu, Oct 14, 2021 at 06:32:32AM +0000, Reshetova, Elena wrote: > > On Tue, Oct 12, 2021 at 06:36:16PM +0000, Reshetova, Elena wrote: > > > > The 5.15 tree has something like ~2.4k IO accesses (including MMIO and > > > > others) in init functions that also register drivers (thanks Elena for > > > > the number) > > > > > > To provide more numbers on this. What I can see so far from a smatch-based > > > analysis, we have 409 __init style functions (.probe & builtin/module_ > > > _platform_driver_probe excluded) for 5.15 with allyesconfig. > > > > I don't think we care about allyesconfig at all though. > > Just don't do that. > > How about allmodconfig? This is closer to what distros actually do. > > It does not make any difference really for the content of the /drivers/*: > gives 408 __init style functions doing IO (.probe & builtin/module_ > > > _platform_driver_probe excluded) for 5.15 with allmodconfig: > > ['doc200x_ident_chip', > 'doc_probe', 'doc2001_init', 'mtd_speedtest_init', > 'mtd_nandbiterrs_init', 'mtd_oobtest_init', 'mtd_pagetest_init', > 'tort_init', 'mtd_subpagetest_init', 'fixup_pmc551', > 'doc_set_driver_info', 'init_amd76xrom', 'init_l440gx', > 'init_sc520cdp', 'init_ichxrom', 'init_ck804xrom', 'init_esb2rom', > 'probe_acpi_namespace_devices', 'amd_iommu_init_pci', 'state_next', > 'arm_v7s_do_selftests', 'arm_lpae_run_tests', 'init_iommu_one', Um. ARM? Which architecture is this build for? > 'init_dmars', 'iommu_init_pci', 'early_amd_iommu_init', > 'late_iommu_features_init', 'detect_ivrs', > 'intel_prepare_irq_remapping', 'intel_enable_irq_remapping', > 'intel_cleanup_irq_remapping', 'detect_intel_iommu', > 'parse_ioapics_under_ir', 'si_domain_init', 'ubi_init', > 'fb_console_init', 'xenbus_probe_backend_init', > 'xenbus_probe_frontend_init', 'setup_vcpu_hotplug_event', > 'balloon_init', 'intel_iommu_init', 'intel_rng_mod_init', > 'check_tylersburg_isoch', 'dmar_table_init', > 'enable_drhd_fault_handling', 'init_acpi_pm_clocksource', > 'ostm_init_clksrc', 'ftm_clockevent_init', 'ftm_clocksource_init', > 'kona_timer_init', 'mtk_gpt_init', 'samsung_clockevent_init', > 'samsung_clocksource_init', 'sysctr_timer_init', 'mxs_timer_init', > 'sun4i_timer_init', 'at91sam926x_pit_dt_init', 'owl_timer_init', > 'sun5i_setup_clockevent', 'ubi_gluebi_init', 'ubiblock_init', > 'hv_init_tsc_clocksource', 'hv_init_clocksource', 'mt7621_clk_init', > 'samsung_clk_register_mux', 'samsung_clk_register_gate', > 'samsung_clk_register_fixed_rate', 'clk_boston_setup', > 'gemini_cc_init', 'aspeed_ast2400_cc', 'aspeed_ast2500_cc', > 'sun6i_rtc_clk_init', 'phy_init', 'ingenic_ost_register_clock', > 'meson6_timer_init', 'atcpit100_timer_init', > 'npcm7xx_clocksource_init', 'clksrc_dbx500_prcmu_init', 'skx_init', > 'i10nm_init', 'sbridge_init', 'i82975x_init', 'i3000_init', > 'x38_init', 'ie31200_init', 'i3200_init', 'amd64_edac_init', > 'pnd2_init', 'edac_init', 'adummy_init', 'mtd_stresstest_init', > 'bxt_idle_state_table_update', 'sklh_idle_state_table_update', > 'skx_idle_state_table_update', > 'acpi_gpio_handle_deferred_request_irqs', 'smc_findirq', 'ltpc_probe', > 'com90io_probe', 'com90xx_probe', 'pcnet32_init_module', > 'it87_gpio_init', 'f7188x_find', 'it8712f_wdt_find', 'f71808e_find', > 'it87_wdt_init', 'f71882fg_find', 'it87_find', 'f71805f_find', > 'parport_pc_init', 'asic3_irq_probe', 'sch311x_detect', > 'amd_gpio_init', 'dvb_init', 'dvb_register', 'em28xx_alsa_register', > 'em28xx_dvb_register', 'em28xx_rc_register', 'em28xx_video_register', > 'blackbird_init', 'bttv_check_chipset', 'ivtvfb_callback_init', > 'init_control', 'con_init', 'cr_pll_init', > 'clk_disable_unused_subtree', 'fmi_init', 'cadet_init', 'pcm20_init', > 'airo_init_module', 'bnx2i_mod_init', 'bnx2fc_mod_init', > 'timer_of_irq_exit', 'init', 'kempld_init', 'ivtvfb_init', > 'brcmf_core_init', 'comedi_test_init', 'tlan_eisa_probe', > 'timer_probe', 'of_clk_init', '__reserved_mem_init_node', > 'of_irq_init', 'mace_init', 'vortex_eisa_init', 'reset_chip', > 'atp_init', 'atp_probe1', 'smc_probe', 'osi_setup', 'led_init', > 'el3_init_module', 'clk_sp810_of_setup', 'ltpc_probe_dma', > 'com90io_found', 'check_mirror', 'arcrimi_found', 'com90xx_found', > 'intel_soc_thermal_init', 'thermal_register_governors', > 'thermal_unregister_governors', 'therm_lvt_init', 'tcc_cooling_init', > 'powerclamp_probe', 'intel_init', 'qcom_geni_serial_earlycon_setup', > 'kgdboc_early_init', 'lpuart_console_setup', 'speakup_init', > 'early_console_setup', 'init_port', 'early_serial8250_setup', > 'linflex_console_setup', 'register_earlycon', 'of_setup_earlycon', > 'slgt_init', 'moxa_init', 'parport_pc_init_superio', > 'parport_pc_find_ports', 'mousedev_init', 'ses_init', 'riocm_init', > 'efi_rci2_sysfs_init', 'blogic_probe', 'blogic_init', > 'blogic_init_mm_probeinfo', 'blogic_init_probeinfo_list', > 'blogic_checkadapter', 'blogic_rdconfig', 'blogic_inquiry', > 'adpt_init', 'clk_unprepare_unused_subtree', 'aspeed_socinfo_init', > 'rcar_sysc_pd_setup', 'r8a779a0_sysc_pd_setup', 'renesas_soc_init', > 'rcar_rst_init', 'rmobile_setup_pm_domain', 'mcp_write_pairing_set', > 'a72_b53_rac_enable_all', 'mcp_a72_b53_set', > 'brcmstb_soc_device_early_init', 'imx8mq_soc_revision', > 'imx8mm_soc_uid', 'imx8mm_soc_revision', 'qe_init', > 'exynos5x_clk_init', 'exynos5250_clk_init', 'exynos4_get_xom', > 'create_one_cmux', 'create_one_pll', 'p2041_init_periph', > 'p4080_init_periph', 'p5020_init_periph', 'p5040_init_periph', > 'r9a06g032_clocks_probe', 'r8a73a4_cpg_clocks_init', > 'sh73a0_cpg_clocks_init', 'cpg_div6_register', > 'r8a7740_cpg_clocks_init', 'cpg_mssr_register_mod_clk', > 'cpg_mssr_register_core_clk', 'rcar_gen3_cpg_clk_register', > 'cpg_sd_clk_register', 'r7s9210_update_clk_table', > 'rz_cpg_read_mode_pins', 'rz_cpg_clocks_init', > 'rcar_r8a779a0_cpg_clk_register', 'rcar_gen2_cpg_clk_register', > 'sun8i_a33_ccu_setup', 'sun8i_a23_ccu_setup', 'sun5i_ccu_init', > 'suniv_f1c100s_ccu_setup', 'sun6i_a31_ccu_setup', > 'sun8i_v3_v3s_ccu_init', 'sun50i_h616_ccu_setup', > 'sunxi_h3_h5_ccu_init', 'sun4i_ccu_init', 'kona_ccu_init', > 'ns2_genpll_scr_clk_init', 'ns2_genpll_sw_clk_init', > 'ns2_lcpll_ddr_clk_init', 'ns2_lcpll_ports_clk_init', > 'nsp_genpll_clk_init', 'nsp_lcpll0_clk_init', > 'cygnus_genpll_clk_init', 'cygnus_lcpll0_clk_init', > 'cygnus_mipipll_clk_init', 'cygnus_audiopll_clk_init', > 'of_fixed_mmio_clk_setup', 'xdbc_map_pci_mmio', 'xdbc_find_dbgp', > 'xdbc_bios_handoff', 'xdbc_early_setup', 'ehci_setup', > 'early_xdbc_parse_parameter', 'find_cap', '__find_dbgp', > 'nvidia_set_debug_port', 'detect_set_debug_port', > 'early_ehci_bios_handoff', 'early_dbgp_init', 'dbgp_init', > 'ulpi_init', 'hidg_init', 'xdbc_init', 'brcmstb_usb_pinmap_probe', > 'dell_init', 'eisa_init_device', 'mlxcpld_led_probe', 'nas_gpio_init', > 'asic3_mfd_probe', 'asic3_probe', 'watchdog_init', 'ssb_modinit', > 'pt_init', 'thinkpad_acpi_module_init', 'kbd_init', 'joydev_init', > 'evdev_init', 'evbug_init', 'input_leds_init', 'mk712_init', > 'l4_add_card', 'ns558_init', 'apanel_init', 'ct82c710_detect', > 'i8042_check_aux', 'i8042_check_mux', 'i8042_probe', 'i8042_init', > 'i8042_aux_test_irq', 'ocrdma_init_module', 'input_apanel_init', > 'cs5535_mfgpt_init', 'geodewdt_probe', 'duramar2150_c2port_init', > 'init_ohci1394_dma_on_all_controllers', 'init_ohci1394_controller', > 'rionet_init', 'nonstatic_sysfs_init', 'init_pcmcia_bus', > 'devlink_class_init', 'switchtec_ntb_init', 'mport_init', > 'drivetemp_init', 'omap_vout_probe', 'probe_opti_vlb', > 'probe_chip_type', 'legacy_check_special_cases', > 'qdi65_identify_port', 'probe_qdi_vlb', 'comedi_init', 'hv_acpi_init', > 'pcistub_init_devices_late', 'bcma_host_soc_register', > 'bcma_bus_early_register', 'vga_arb_device_init', > 'vga_arb_select_default_device', 'zf_init', > 'watchdog_deferred_registration', 'wb_smsc_wdt_init', > 'w83977f_wdt_init', 'ali_find_watchdog', 'pc87413_init', > 'alim7101_wdt_init', 'at91_wdt_init', 'sc1200wdt_probe', > 'asr_get_base_address', 'dmi_walk_early', 'dmi_sysfs_init', > 'dell_smbios_init', 'acer_wmi_init', 'get_thinkpad_model_data', > 'dmi_scan_machine', 'pci_assign_unassigned_resources', > 'cpcihp_generic_init', 'pnpacpi_init', 'acpi_early_processor_osc', > 'acpi_processor_check_duplicates', 'acpi_early_processor_set_pdc', > 'acpi_ec_dsdt_probe', 'cros_ec_lpc_init', 'tpacpi_acpi_handle_locate', > 'ks_pcie_init_id', 'ks_pcie_host_init', 'pci_apply_final_quirks', > 'intel_uncore_init', 'qedr_init_module', 'isapnp_peek', > 'isapnp_isolate', 'init_ipmi_si', 'isapnp_build_device_list', > 'pnpacpi_add_device', 'erst_init', 'intel_idle_acpi_cst_extract', > 'xen_acpi_processor_init', 'acpi_scan_init', 's3_wmi_probe', > 'intel_opregion_present', 'extlog_init', 'intel_pstate_init', > 'via_rng_mod_init', 'amd_rng_mod_init', 'ccp_init', 'init_nsc', > 'init_atmel', 'intel_rng_hw_init', 'intel_init_hw_struct', > 'tlclk_init', 'mwave_init', 'applicom_init', 'hdaps_init', > 'tink_board_init', 'ibm_rtl_init', 'samsung_sabi_init', > 'samsung_init', 'samsung_backlight_init', 'samsung_rfkill_init_swsmi', > 'samsung_lid_handling_init', 'samsung_leds_init', 'samsung_sabi_diag', > 'samsung_sabi_infos', 'isst_if_mbox_init', 'pmc_atom_init', > 'abituguru_detect', 'hwmon_pci_quirks', 'applesmc_init', > 'abituguru3_detect', 'w83627ehf_probe', 'dme1737_isa_detect', > 'smsc47m1_probe', 'pcc_cpufreq_init', 'cpufreq_p4_init', > 'centrino_init', 'acpi_cpufreq_init', 'pcc_cpufreq_probe', > 'intel_pstate_msrs_not_valid', > 'intel_pstate_platform_pwr_mgmt_exists', 'acpi_cpufreq_boost_init', > 'amd_freq_sensitivity_init', 'gic_fixup_resource', 'do_floppy_init', > 'get_fdc_version', 'pf_init', 'pg_init', 'pd_init', 'pcd_init', > 'rio_basic_attach']