Patchwork [10/11] acpica: force infinite loops and OS delays to complete faster since timing is not relevant

login
register
mail settings
Submitter Colin King
Date April 11, 2012, 11:50 p.m.
Message ID <1334188256-26566-11-git-send-email-colin.king@canonical.com>
Download mbox | patch
Permalink /patch/151946/
State Accepted
Headers show

Comments

Colin King - April 11, 2012, 11:50 p.m.
From: Colin Ian King <colin.king@canonical.com>

Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
 src/acpica/Makefile.am   |   22 ++++++++++++++--------
 src/acpica/fwts_acpica.c |    4 ++++
 2 files changed, 18 insertions(+), 8 deletions(-)
Keng-Yu Lin - April 12, 2012, 7:17 a.m.
On Thu, Apr 12, 2012 at 7:50 AM, Colin King <colin.king@canonical.com> wrote:
> From: Colin Ian King <colin.king@canonical.com>
>
> Signed-off-by: Colin Ian King <colin.king@canonical.com>
> ---
>  src/acpica/Makefile.am   |   22 ++++++++++++++--------
>  src/acpica/fwts_acpica.c |    4 ++++
>  2 files changed, 18 insertions(+), 8 deletions(-)
>
> diff --git a/src/acpica/Makefile.am b/src/acpica/Makefile.am
> index 9da918a..6a7b4b5 100644
> --- a/src/acpica/Makefile.am
> +++ b/src/acpica/Makefile.am
> @@ -21,15 +21,21 @@ osunixxf_munged.c: $(ACPICA_OSL)/osunixxf.c
>        sed 's/^AcpiOsSignalSemaphore/__AcpiOsSignalSemaphore/' | \
>        sed 's/^AcpiOsWaitSemaphore/__AcpiOsWaitSemaphore/' | \
>        sed 's/^AcpiOsVprintf/__AcpiOsVprintf/' | \
> -       sed 's/^AcpiOsSignal/__AcpiOsSignal/' \
> +       sed 's/^AcpiOsSignal/__AcpiOsSignal/' | \
> +       sed 's/^AcpiOsSleep/__AcpiOsSleep/' \
>        > osunixxf_munged.c
>
> -dsopcode_munged.c: $(ACPICA_COMP)/dispatcher/dsopcode.c
> -       cat $(ACPICA_COMP)/dispatcher/dsopcode.c | \
> -       sed 's/ACPI_MAX_LOOP_ITERATIONS/0x0400/' \
> -       > dsopcode_munged.c
> +#
> +#  Force maximum loop iterations to be just 128 instead of 0xffff
> +#  because we really don't want to wait until the sun turns into
> +#  a lump of coal before we complete a blocked operation
> +#
> +dscontrol_munged.c: $(ACPICA_COMP)/dispatcher/dscontrol.c
> +       cat $(ACPICA_COMP)/dispatcher/dscontrol.c | \
> +       sed 's/ACPI_MAX_LOOP_ITERATIONS/0x0080/' \
> +       > dscontrol_munged.c
>
> -BUILT_SOURCES = osunixxf_munged.c dsopcode_munged.c
> +BUILT_SOURCES = osunixxf_munged.c dscontrol_munged.c
>
>  CLEANFILES = osunixxf_munged.c
>
> @@ -38,7 +44,7 @@ libfwtsacpica_la_LDFLAGS = -lpthread -version-info 1:0:0
>  libfwtsacpica_la_SOURCES = \
>        fwts_acpica.c \
>        osunixxf_munged.c \
> -       dsopcode_munged.c \
> +       dscontrol_munged.c \
>        $(ACPICA_COMP)/debugger/dbcmds.c \
>        $(ACPICA_COMP)/debugger/dbdisply.c \
>        $(ACPICA_COMP)/debugger/dbexec.c \
> @@ -70,9 +76,9 @@ libfwtsacpica_la_SOURCES = \
>        $(ACPICA_COMP)/dispatcher/dswload.c \
>        $(ACPICA_COMP)/dispatcher/dswscope.c \
>        $(ACPICA_COMP)/dispatcher/dswstate.c \
> -       $(ACPICA_COMP)/dispatcher/dscontrol.c \
>        $(ACPICA_COMP)/dispatcher/dsargs.c \
>        $(ACPICA_COMP)/dispatcher/dswload2.c \
> +       $(ACPICA_COMP)/dispatcher/dsopcode.c \
>        $(ACPICA_COMP)/events/evevent.c \
>        $(ACPICA_COMP)/events/evgpe.c \
>        $(ACPICA_COMP)/events/evgpeblk.c \
> diff --git a/src/acpica/fwts_acpica.c b/src/acpica/fwts_acpica.c
> index 7d851e9..3dc5ced 100644
> --- a/src/acpica/fwts_acpica.c
> +++ b/src/acpica/fwts_acpica.c
> @@ -608,6 +608,10 @@ ACPI_STATUS AcpiOsSignal(UINT32 function, void *info)
>        return AE_OK;
>  }
>
> +void AcpiOsSleep(UINT64 milliseconds)
> +{
> +}
> +
>  int fwtsInstallLateHandlers(fwts_framework *fw)
>  {
>        int i;
> --
> 1.7.9.5
>
Acked-by: Keng-Yu Lin <kengyu@canonical.com>
Alex Hung - April 12, 2012, 9:11 a.m.
On 04/12/2012 07:50 AM, Colin King wrote:
> From: Colin Ian King<colin.king@canonical.com>
>
> Signed-off-by: Colin Ian King<colin.king@canonical.com>
> ---
>   src/acpica/Makefile.am   |   22 ++++++++++++++--------
>   src/acpica/fwts_acpica.c |    4 ++++
>   2 files changed, 18 insertions(+), 8 deletions(-)
>
> diff --git a/src/acpica/Makefile.am b/src/acpica/Makefile.am
> index 9da918a..6a7b4b5 100644
> --- a/src/acpica/Makefile.am
> +++ b/src/acpica/Makefile.am
> @@ -21,15 +21,21 @@ osunixxf_munged.c: $(ACPICA_OSL)/osunixxf.c
>   	sed 's/^AcpiOsSignalSemaphore/__AcpiOsSignalSemaphore/' | \
>   	sed 's/^AcpiOsWaitSemaphore/__AcpiOsWaitSemaphore/' | \
>   	sed 's/^AcpiOsVprintf/__AcpiOsVprintf/' | \
> -	sed 's/^AcpiOsSignal/__AcpiOsSignal/' \
> +	sed 's/^AcpiOsSignal/__AcpiOsSignal/' | \
> +	sed 's/^AcpiOsSleep/__AcpiOsSleep/' \
>   	>  osunixxf_munged.c
>
> -dsopcode_munged.c: $(ACPICA_COMP)/dispatcher/dsopcode.c
> -	cat $(ACPICA_COMP)/dispatcher/dsopcode.c | \
> -	sed 's/ACPI_MAX_LOOP_ITERATIONS/0x0400/' \
> -	>  dsopcode_munged.c
> +#
> +#  Force maximum loop iterations to be just 128 instead of 0xffff
> +#  because we really don't want to wait until the sun turns into
> +#  a lump of coal before we complete a blocked operation
> +#
> +dscontrol_munged.c: $(ACPICA_COMP)/dispatcher/dscontrol.c
> +	cat $(ACPICA_COMP)/dispatcher/dscontrol.c | \
> +	sed 's/ACPI_MAX_LOOP_ITERATIONS/0x0080/' \
> +	>  dscontrol_munged.c
>
> -BUILT_SOURCES = osunixxf_munged.c dsopcode_munged.c
> +BUILT_SOURCES = osunixxf_munged.c dscontrol_munged.c
>
>   CLEANFILES = osunixxf_munged.c
>
> @@ -38,7 +44,7 @@ libfwtsacpica_la_LDFLAGS = -lpthread -version-info 1:0:0
>   libfwtsacpica_la_SOURCES = \
>   	fwts_acpica.c \
>   	osunixxf_munged.c \
> -	dsopcode_munged.c \
> +	dscontrol_munged.c \
>   	$(ACPICA_COMP)/debugger/dbcmds.c \
>   	$(ACPICA_COMP)/debugger/dbdisply.c \
>   	$(ACPICA_COMP)/debugger/dbexec.c \
> @@ -70,9 +76,9 @@ libfwtsacpica_la_SOURCES = \
>   	$(ACPICA_COMP)/dispatcher/dswload.c \
>   	$(ACPICA_COMP)/dispatcher/dswscope.c \
>   	$(ACPICA_COMP)/dispatcher/dswstate.c \
> -	$(ACPICA_COMP)/dispatcher/dscontrol.c \
>   	$(ACPICA_COMP)/dispatcher/dsargs.c \
>   	$(ACPICA_COMP)/dispatcher/dswload2.c \
> +	$(ACPICA_COMP)/dispatcher/dsopcode.c \
>   	$(ACPICA_COMP)/events/evevent.c \
>   	$(ACPICA_COMP)/events/evgpe.c \
>   	$(ACPICA_COMP)/events/evgpeblk.c \
> diff --git a/src/acpica/fwts_acpica.c b/src/acpica/fwts_acpica.c
> index 7d851e9..3dc5ced 100644
> --- a/src/acpica/fwts_acpica.c
> +++ b/src/acpica/fwts_acpica.c
> @@ -608,6 +608,10 @@ ACPI_STATUS AcpiOsSignal(UINT32 function, void *info)
>   	return AE_OK;
>   }
>
> +void AcpiOsSleep(UINT64 milliseconds)
> +{
> +}
> +
>   int fwtsInstallLateHandlers(fwts_framework *fw)
>   {
>   	int i;
Acked-by: Alex Hung <alex.hung@canonical.com>

Patch

diff --git a/src/acpica/Makefile.am b/src/acpica/Makefile.am
index 9da918a..6a7b4b5 100644
--- a/src/acpica/Makefile.am
+++ b/src/acpica/Makefile.am
@@ -21,15 +21,21 @@  osunixxf_munged.c: $(ACPICA_OSL)/osunixxf.c
 	sed 's/^AcpiOsSignalSemaphore/__AcpiOsSignalSemaphore/' | \
 	sed 's/^AcpiOsWaitSemaphore/__AcpiOsWaitSemaphore/' | \
 	sed 's/^AcpiOsVprintf/__AcpiOsVprintf/' | \
-	sed 's/^AcpiOsSignal/__AcpiOsSignal/' \
+	sed 's/^AcpiOsSignal/__AcpiOsSignal/' | \
+	sed 's/^AcpiOsSleep/__AcpiOsSleep/' \
 	> osunixxf_munged.c
 
-dsopcode_munged.c: $(ACPICA_COMP)/dispatcher/dsopcode.c
-	cat $(ACPICA_COMP)/dispatcher/dsopcode.c | \
-	sed 's/ACPI_MAX_LOOP_ITERATIONS/0x0400/' \
-	> dsopcode_munged.c
+#
+#  Force maximum loop iterations to be just 128 instead of 0xffff
+#  because we really don't want to wait until the sun turns into
+#  a lump of coal before we complete a blocked operation
+#
+dscontrol_munged.c: $(ACPICA_COMP)/dispatcher/dscontrol.c
+	cat $(ACPICA_COMP)/dispatcher/dscontrol.c | \
+	sed 's/ACPI_MAX_LOOP_ITERATIONS/0x0080/' \
+	> dscontrol_munged.c
 
-BUILT_SOURCES = osunixxf_munged.c dsopcode_munged.c
+BUILT_SOURCES = osunixxf_munged.c dscontrol_munged.c
 
 CLEANFILES = osunixxf_munged.c
 
@@ -38,7 +44,7 @@  libfwtsacpica_la_LDFLAGS = -lpthread -version-info 1:0:0
 libfwtsacpica_la_SOURCES = \
 	fwts_acpica.c \
 	osunixxf_munged.c \
-	dsopcode_munged.c \
+	dscontrol_munged.c \
 	$(ACPICA_COMP)/debugger/dbcmds.c \
 	$(ACPICA_COMP)/debugger/dbdisply.c \
 	$(ACPICA_COMP)/debugger/dbexec.c \
@@ -70,9 +76,9 @@  libfwtsacpica_la_SOURCES = \
 	$(ACPICA_COMP)/dispatcher/dswload.c \
 	$(ACPICA_COMP)/dispatcher/dswscope.c \
 	$(ACPICA_COMP)/dispatcher/dswstate.c \
-	$(ACPICA_COMP)/dispatcher/dscontrol.c \
 	$(ACPICA_COMP)/dispatcher/dsargs.c \
 	$(ACPICA_COMP)/dispatcher/dswload2.c \
+	$(ACPICA_COMP)/dispatcher/dsopcode.c \
 	$(ACPICA_COMP)/events/evevent.c \
 	$(ACPICA_COMP)/events/evgpe.c \
 	$(ACPICA_COMP)/events/evgpeblk.c \
diff --git a/src/acpica/fwts_acpica.c b/src/acpica/fwts_acpica.c
index 7d851e9..3dc5ced 100644
--- a/src/acpica/fwts_acpica.c
+++ b/src/acpica/fwts_acpica.c
@@ -608,6 +608,10 @@  ACPI_STATUS AcpiOsSignal(UINT32 function, void *info)
 	return AE_OK;
 }
 
+void AcpiOsSleep(UINT64 milliseconds)
+{
+}
+
 int fwtsInstallLateHandlers(fwts_framework *fw)
 {
 	int i;