Re: [RFC PATCH 2/2] ACPI: Default disable auto-serialization.

From: Rafael J. Wysocki
Date: Mon Mar 17 2014 - 08:09:39 EST


On 3/17/2014 5:14 AM, Lv Zheng wrote:
This feature enabled by the following commit is still under development.

Commit: cd52379678785b02d7a357988cfba214fdaf92f4
Subject: ACPICA: Add global option to disable method auto-serialization.
This change adds an option to disable the auto-serialization of
methods that create named objects.

This patch disables it by default temporarily according to the bug reports.

Well, it doesn't restore the 3.14 behavior of acpi_auto_serialize, as far as I can say, so we can't apply it.

I still can drop the commits related to auto-serialization from my acpica branch. Which commits are they?

References: http://www.spinics.net/lists/linux-acpi/msg49496.html
Reported-by: Valdis Kletnieks <validis.kletnieks@xxxxxx>
Reported-by: Sabrina Dubroka <sd@xxxxxxxxxxxxxxx>
Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
---
Documentation/kernel-parameters.txt | 8 ++++----
drivers/acpi/acpica/acglobal.h | 2 +-
drivers/acpi/osl.c | 12 ++++++------
3 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 91f0be8..a159537 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -229,13 +229,13 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
use by PCI
Format: <irq>,<irq>...
- acpi_no_auto_serialize [HW,ACPI]
- Disable auto-serialization of AML methods
+ acpi_auto_serialize [HW,ACPI]
+ Enable auto-serialization of AML methods
AML control methods that contain the opcodes to create
named objects will be marked as "Serialized" by the
auto-serialization feature.
- This feature is enabled by default.
- This option allows to turn off the feature.
+ This feature is disabled by default.
+ This option allows to turn on the feature.
acpi_no_auto_ssdt [HW,ACPI] Disable automatic loading of SSDT
diff --git a/drivers/acpi/acpica/acglobal.h b/drivers/acpi/acpica/acglobal.h
index 49bbc71..ea0f838 100644
--- a/drivers/acpi/acpica/acglobal.h
+++ b/drivers/acpi/acpica/acglobal.h
@@ -99,7 +99,7 @@ ACPI_INIT_GLOBAL(u8, acpi_gbl_enable_interpreter_slack, FALSE);
* that create named objects are marked Serialized in order to prevent
* possible run-time problems if they are entered by more than one thread.
*/
-ACPI_INIT_GLOBAL(u8, acpi_gbl_auto_serialize_methods, TRUE);
+ACPI_INIT_GLOBAL(u8, acpi_gbl_auto_serialize_methods, FALSE);
/*
* Create the predefined _OSI method in the namespace? Default is TRUE
diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c
index d40d6dc..928f0c2 100644
--- a/drivers/acpi/osl.c
+++ b/drivers/acpi/osl.c
@@ -1538,20 +1538,20 @@ static int __init osi_setup(char *str)
__setup("acpi_osi=", osi_setup);
/*
- * Disable the auto-serialization of named objects creation methods.
+ * Enable the auto-serialization of named objects creation methods.
*
- * This feature is enabled by default. It marks the AML control methods
+ * This feature is disabled by default. It marks the AML control methods
* that contain the opcodes to create named objects as "Serialized".
*/
-static int __init acpi_no_auto_serialize_setup(char *str)
+static int __init acpi_auto_serialize_setup(char *str)
{
- acpi_gbl_auto_serialize_methods = FALSE;
- pr_info("ACPI: auto-serialization disabled\n");
+ acpi_gbl_auto_serialize_methods = TRUE;
+ pr_info("ACPI: auto-serialization enabled\n");
return 1;
}
-__setup("acpi_no_auto_serialize", acpi_no_auto_serialize_setup);
+__setup("acpi_auto_serialize", acpi_auto_serialize_setup);
/* Check of resource interference between native drivers and ACPI
* OperationRegions (SystemIO and System Memory only).

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/