Re: [PATCH v2] ACPI: sysfs: Change ACPI_MASKABLE_GPE_MAX to 0x100

From: Yunfeng Ye
Date: Mon Nov 18 2019 - 21:22:38 EST




On 2019/11/19 5:15, Rafael J. Wysocki wrote:
> On Mon, Nov 18, 2019 at 8:44 PM Dexuan-Linux Cui <dexuan.linux@xxxxxxxxx> wrote:
>>
>> On Mon, Nov 18, 2019 at 1:04 AM Rafael J. Wysocki <rafael@xxxxxxxxxx> wrote:
>>>
>>> On Sat, Nov 16, 2019 at 9:06 PM Dan Williams <dan.j.williams@xxxxxxxxx> wrote:
>>>>
>>>> On Wed, Nov 13, 2019 at 11:17 PM Yunfeng Ye <yeyunfeng@xxxxxxxxxx> wrote:
>>>>>
>>>>> The commit 0f27cff8597d ("ACPI: sysfs: Make ACPI GPE mask kernel
>>>>> parameter cover all GPEs") says:
>>>>> "Use a bitmap of size 0xFF instead of a u64 for the GPE mask so 256
>>>>> GPEs can be masked"
>>>>>
>>>>> But the masking of GPE 0xFF it not supported and the check condition
>>>>> "gpe > ACPI_MASKABLE_GPE_MAX" is not valid because the type of gpe is
>>>>> u8.
>>>>>
>>>>> So modify the macro ACPI_MASKABLE_GPE_MAX to 0x100, and drop the "gpe >
>>>>> ACPI_MASKABLE_GPE_MAX" check. In addition, update the docs "Format" for
>>>>> acpi_mask_gpe parameter.
>>>>>
>>>>> Fixes: 0f27cff8597d ("ACPI: sysfs: Make ACPI GPE mask kernel parameter cover all GPEs")
>>>>> Signed-off-by: Yunfeng Ye <yeyunfeng@xxxxxxxxxx>
>>>>> ---
>>>>> v1 -> v2:
>>>>> - drop the "gpe > ACPI_MASKABLE_GPE_MAX" check
>>>>> - update the docs "Format" from <int> to <byte> for acpi_mask_gpe parameter
>>>>> - update the commit comment
>>>>>
>>>>> Documentation/admin-guide/kernel-parameters.txt | 2 +-
>>>>> drivers/acpi/sysfs.c | 4 ++--
>>>>> 2 files changed, 3 insertions(+), 3 deletions(-)
>>>>
>>>> Bisect flags commit eb09878e1301 "ACPI: sysfs: Change
>>>> ACPI_MASKABLE_GPE_MAX to 0x100" in -next as the reason for a boot
>>>> regression in my qemu-kvm test environment. It spews:
>>>>
>>>> [ 1.456728] ACPI: Masking GPE 0x0.
>>>> ...
>>>> [ 161.721420] ACPI: Masking GPE 0x0.
>>>>
>>>> ...and then hangs.
>>>>
>>>> A straight revert gets the configuration back on its feet.
>>>>
>>>> qemu-system-x86_64 --version
>>>> QEMU emulator version 4.0.50 (v4.0.0-928-g49c6c6ac0cd8)
>>>
>>> OK, I'll drop it then, thanks!
>>
>> We're seeing the same issue wtih 5.4.0-rc7-next-20191118 on a Linux VM
>> running on Hyper-V :
>>
>> [ 0.133029] ACPI: 1 ACPI AML tables successfully acquired and loaded
>> [ 0.144023] ACPI: Interpreter enabled
>> [ 0.145023] ACPI: (supports S0 S5)
>> [ 0.146023] ACPI: Using IOAPIC for interrupt routing
>> [ 0.147024] PCI: Using host bridge windows from ACPI; if necessary,
>> use "pci=nocrs" and report a bug
>> [ 0.148031] ACPI: Masking GPE 0x0.
>> ...
>> [ 774.839023] ACPI: Masking GPE 0x0.
>> [ 774.840023] ACPI: Masking GPE 0x0.
>>
>> I guess the patch is only tested on a physical machine and not on a VM...
>
> It looks like the patch hasn't been tested at all.
>
> Please try to change the data type of gpe in
> acpi_gpe_apply_masked_gpes() to u16 and see if that helps.
>
Sorry for this problem, I have no good test after modification according to
inspection opinions.

The first version patch is ok, the type of gpe is changed to u32. and I have
test it before.

thanks.
> .
>