lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <BL3PR02MB798658A2F65018B3C4B5E9E7FEDA9@BL3PR02MB7986.namprd02.prod.outlook.com>
Date:   Mon, 6 Feb 2023 20:58:54 +0000
From:   "Kallol Biswas [C]" <kallol.biswas@...anix.com>
To:     Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: intel_idle and acpi_idle driver initcall order

Hi,
    Looking for help understanding how  idle drivers get loaded on Intel platforms. 

The intel_idle driver always gets loaded. Both intel_idle and acpi_idle drivers are built with =y and both use device_initcall.

Added initcall_debug cmd line param and noticed that always intel_idle_init got called before acpi_processor_driver_init.

2.736001] initcall efifb_driver_init+0x0/0x13 returned 0 after 5 usecs
[ 2.736003] calling intel_idle_init+0x0/0x406 @ 1
[ 2.737335] initcall intel_idle_init+0x0/0x406 returned 0 after 1297 usecs
[ 2.737337] calling ged_driver_init+0x0/0x13 @ 1
[ 2.737350] initcall ged_driver_init+0x0/0x13 returned 0 after 10 usecs
[ 2.737352] calling acpi_processor_driver_init+0x0/0xbb @ 1
[ 2.767685] initcall acpi_processor_driver_init+0x0/0xbb returned 0 after 29618 usecs
[ 2.767687] calling acpi_thermal_init+0x0/0x86 @ 1
[ 2.767850] initcall acpi_thermal_init+0x0/0x86 returned 0 after 156 usecs
[ 2.767852] calling acpi_hed_driver_init+0x0/0x11 @ 1
[ 2.767888] initcall acpi_hed_driver_init+0x0/0x11 returned 0 after

Question: What determines the initcall order within the same level?

init.h:
#define device_initcall(fn)   __define_initcall(fn, 6)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ