diff options
| author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2026-09-09 18:39:18 +0200 |
|---|---|---|
| committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2026-09-10 19:25:26 +0200 |
| commit | f8113f311cf8be566d809598e967bf5ceb35b567 (patch) | |
| tree | 26c8ffd0b23ce19758dcdaa78cd7d1f9e7ec672b | |
| parent | df2908090cda368b01ff43709f51890076c56157 (diff) | |
| download | linux-next-f8113f311cf8be566d809598e967bf5ceb35b567.tar.gz linux-next-f8113f311cf8be566d809598e967bf5ceb35b567.zip | |
ACPI: bus: Reduce runtime memory footprint of struct acpi_device
The ACPI handle is heavily used by the ACPI code. Making it as
the first member in the struct acpi_device reduces code size.
For instance, the drivers/acpi/scan.o (with `make allyesconfig`)
gives this statistics:
add/remove: 0/0 grow/shrink: 3/8 up/down: 50/-169 (-119)
Function old new delta
acpi_device_add 2294 2319 +25
acpi_add_single_object 6523 6544 +21
acpi_dev_get_next_consumer_dev 602 606 +4
acpi_tie_acpi_dev 169 165 -4
acpi_scan_drop_device 319 315 -4
acpi_dev_clear_dependencies 1151 1147 -4
acpi_bus_attach 2898 2894 -4
acpi_dma_get_range 1420 1415 -5
acpi_init_device_object 5497 5485 -12
acpi_bus_check_add 1940 1923 -17
acpi_device_hotplug 3407 3288 -119
Total: Before=77509, After=77390, chg -0.15%
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
[ rjw: Changelog tweaks ]
Link: https://patch.msgid.link/20260909163918.368017-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
| -rw-r--r-- | include/acpi/acpi_bus.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h index a10a591c18b2..64ae66ca456e 100644 --- a/include/acpi/acpi_bus.h +++ b/include/acpi/acpi_bus.h @@ -435,9 +435,9 @@ struct acpi_device_software_nodes { /* Device */ struct acpi_device { + acpi_handle handle; /* no handle for fixed hardware */ u32 pld_crc; int device_type; - acpi_handle handle; /* no handle for fixed hardware */ struct fwnode_handle fwnode; struct list_head wakeup_list; struct list_head del_list; |
