• Lv Zheng's avatar
    ACPICA: Remove global option to serialize all control methods. · e2b8ddcc
    Lv Zheng authored
    According to the reports, the "acpi_serialize" mechanism is broken as:
    
     A. The parallel method calls can still happen when the interpreter lock is
        released under the following conditions:
        1. External callbacks are invoked, for example, by the region handlers,
           the exception handlers, etc.;
        2. Module level execution is performed when Load/LoadTable opcodes are
           executed, and
        3. The _REG control methods are invoked to complete the region
           registrations.
     B. For the following situations, the interpreter lock need to be released
        even for a serialized method while currently, the lock-releasing
        operation is marked as a no-op by
        acpi_ex_relinquish/reacquire_interpreter() when this mechanism is
        enabled:
        1. Wait opcode is executed,
        2. Acquire opcode is executed, and
        3. Sleep opcode is executed.
    
    This patch removes this mechanism and the internal
    acpi_ex_relinquish/reacquire_interpreter() APIs.  Lv Zheng.
    
    References: https://bugzilla.kernel.org/show_bug.cgi?id=52191Signed-off-by: default avatarLv Zheng <lv.zheng@intel.com>
    Signed-off-by: default avatarBob Moore <robert.moore@intel.com>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    e2b8ddcc
exutils.c 12.4 KB