diff options
author | Alexey Starikovskiy <astarikovskiy@suse.de> | 2010-05-25 23:53:07 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2010-07-06 22:33:56 -0400 |
commit | c45b5c097001480e66d4c523eb715ad317a4ef77 (patch) | |
tree | 5b9415840b97a724537273db99b2c66975c63347 /drivers/acpi/acpica/nsinit.c | |
parent | 5821f75421aa7c7bafdec291223153597f649934 (diff) |
ACPICA: Performance enhancement for namespace search and access
This change enhances the performance of namespace searches and
walks by adding a backpointer to the parent in each namespace
node. On large namespaces, this change can improve overall ACPI
performance by up to 9X. Adding a pointer to each namespace node
increases the overall size of the internal namespace by about 5%,
since each namespace entry usually consists of both a namespace
node and an ACPI operand object.
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/acpica/nsinit.c')
-rw-r--r-- | drivers/acpi/acpica/nsinit.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/acpi/acpica/nsinit.c b/drivers/acpi/acpica/nsinit.c index f0e49df7c13b..660a2728908d 100644 --- a/drivers/acpi/acpica/nsinit.c +++ b/drivers/acpi/acpica/nsinit.c | |||
@@ -410,7 +410,7 @@ acpi_ns_find_ini_methods(acpi_handle obj_handle, | |||
410 | * The only _INI methods that we care about are those that are | 410 | * The only _INI methods that we care about are those that are |
411 | * present under Device, Processor, and Thermal objects. | 411 | * present under Device, Processor, and Thermal objects. |
412 | */ | 412 | */ |
413 | parent_node = acpi_ns_get_parent_node(node); | 413 | parent_node = node->parent; |
414 | switch (parent_node->type) { | 414 | switch (parent_node->type) { |
415 | case ACPI_TYPE_DEVICE: | 415 | case ACPI_TYPE_DEVICE: |
416 | case ACPI_TYPE_PROCESSOR: | 416 | case ACPI_TYPE_PROCESSOR: |
@@ -420,7 +420,7 @@ acpi_ns_find_ini_methods(acpi_handle obj_handle, | |||
420 | 420 | ||
421 | while (parent_node) { | 421 | while (parent_node) { |
422 | parent_node->flags |= ANOBJ_SUBTREE_HAS_INI; | 422 | parent_node->flags |= ANOBJ_SUBTREE_HAS_INI; |
423 | parent_node = acpi_ns_get_parent_node(parent_node); | 423 | parent_node = parent_node->parent; |
424 | } | 424 | } |
425 | break; | 425 | break; |
426 | 426 | ||