OSDN Git Service

ACPICA: Dispatcher: Introduce timeout mechanism for infinite loop detection
authorLv Zheng <lv.zheng@intel.com>
Fri, 17 Nov 2017 23:40:18 +0000 (15:40 -0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 27 Nov 2017 00:20:29 +0000 (01:20 +0100)
commit164a08cee1358e360c47fcb26a7720461d5853a5
treeda44cdbbbe77db422208e3271e123dbf8468f28a
parent29ad1f88ab7dd6c220ff9f5b9faed718b443f4a4
ACPICA: Dispatcher: Introduce timeout mechanism for infinite loop detection

ACPICA commit 9605023e7e6d1f05581502766c8cf2905bcc03d9

This patch implements a new infinite loop detection mechanism to replace
the old one, it uses acpi_os_get_timer() to limit loop execution into a
determined time slice.
This is useful in case some hardware/firmware operations really require the
AML interpreter to wait while the old mechanism could expire too fast on
recent machines.

The new mechanism converts old acpi_gbl_max_loop_iterations to store the user
configurable value for the new mechanism in order to allow users to be
still able to configure this value for acpiexec via command line. This
patch also removes wrong initilization code of acpi_gbl_max_loop_iterations
accordingly (it should have been initialized by ACPI_INIT_GLOBAL, and the
default value is also properly tuned for acpiexec). Reported by M. Foronda,
fixed by Lv Zheng.

Link: https://github.com/acpica/acpica/commit/9605023e
Link: https://bugzilla.kernel.org/show_bug.cgi?id=156501
Reported-by: M. Foronda <josemauricioforonda@gmail.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/acpica/aclocal.h
drivers/acpi/acpica/dscontrol.c
drivers/acpi/acpica/utinit.c
include/acpi/acconfig.h
include/acpi/acpixf.h
include/acpi/actypes.h