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

From: Zheng, Lv
Date: Mon Mar 17 2014 - 20:32:15 EST


Hi, Rafael

> From: Wysocki, Rafael J
> Sent: Monday, March 17, 2014 8:09 PM
>
> 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?

>From linux-pm/bleeding-edge branch, I found this series includes the following commits:

Commit: a0fd108f2da56b769472fc0095616fb370988516
Author: Lv Zheng <lv.zheng@xxxxxxxxx>
Subject: ACPI: Rename kernel parameter "acpi_serialize" to "acpi_no_auto_serialize"

Commit: 5f1cb4a92e4c4aabd139ff9ca1e11c0e2db2ac59
Author: Lv Zheng <lv.zheng@xxxxxxxxx>
Subject: ACPICA: Remove global option to serialize all control methods.

Commit: cd52379678785b02d7a357988cfba214fdaf92f4
Author: Bob Moore <robert.moore@xxxxxxxxx>
Subject: ACPICA: Add global option to disable method auto-serialization.

Commit: f56b05bd111b01141ef74568dc4d262c70295d03
Author: Lv Zheng <lv.zheng@xxxxxxxxx>
Subject: ACPICA: Add additional named objects for the auto-serialize method scan.

Commit: 27f1899350a1d6baab117c03c87f0e37730047bd
Author: Bob Moore <robert.moore@xxxxxxxxx>
Subject: ACPICA: Add auto-serialization support for ill-behaved control methods.

Reverting these commits can restore original Linux behavior.
Please check.

Thanks and best regards
-Lv

>
> > 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/