diff options
author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2023-05-16 12:25:22 +0200 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2023-06-05 17:22:51 +0200 |
commit | 3ba12d8de3faa666ba2d6d01863feca73518a743 (patch) | |
tree | c2ffbb20a2d04d089f495dedbef1d99809d5bba4 /kernel/trace/trace_events_trigger.c | |
parent | Linux 6.4-rc5 (diff) | |
download | linux-3ba12d8de3faa666ba2d6d01863feca73518a743.tar.xz linux-3ba12d8de3faa666ba2d6d01863feca73518a743.zip |
ACPI: scan: Reduce overhead related to devices with dependencies
Notice that all of the objects for which the acpi_scan_check_dep()
return value is greater than 0 are present in acpi_dep_list as consumers
(there may be multiple entries for one object, but that is not a
problem), so after carrying out the initial ACPI namespace walk in which
devices with dependencies are skipped, acpi_bus_scan() can simply walk
acpi_dep_list and enumerate all of the unique consumer objects from
there and their descendants instead of walking the entire target branch
of the ACPI namespace and looking for device objects that have not been
enumerated yet in it.
Because walking acpi_dep_list is generally less overhead than walking
the entire ACPI namespace, use the observation above to reduce the
system initialization overhead related to ACPI, which is particularly
important on large systems.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Diffstat (limited to 'kernel/trace/trace_events_trigger.c')
0 files changed, 0 insertions, 0 deletions