The regression about EC GPE storm on the latest linus git tree
A message that is not in the archive (sent off-list or not yet received): 1226539214.4006.70.camel@yakui_zhao.sh.intel.com
Hi Yakui,
Does your latest kernel include yesterday pool of patches?
Thanks,
Alex.
Quoted 23 lines · Zhao Yakui
Hi, Alexey
I do some tests on the latest kernel and find that there exists the
EC GPE storm on the three laptops. And then EC will work in polling mode. One is Asus EEEPC 1000. The other are HP laptops.I do the similar test on the previous kernel(for example:
2.6.27-rc6, 2.6.27.4) and there is no EC GPE storm on the three laptops. The EC works in EC GPE interrupt mode.
After the EC debug is used on the 2.6.27-rc6 kernel, I find that at
most 8 EC interrupts are triggered in each EC transaction(This includes the effective EC GPE interrupts). In such case it should not be regarded as EC GPE storm.The attached are the dmesg info on the Asus EEEPC 1000. (One is
based on the latest git tree. One is based on 2.6.27-rc6 kernel).
If you need to investigate the root cause about the EC GPE storm,
please tell me what I should do. I will try my best to test the patch from you and give response.Thanks.
Yakui
PATCH 1/1 ACPI: EC: count interrupts only if called from interrupt handler.
In reply to a message not in the archive---
drivers/acpi/ec.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
drivers/acpi/ec.c +2 -1
@@ -219,7 +219,8 @@ static void gpe_transaction(struct acpi_ec *ec, u8 status) goto unlock; err:/* false interrupt, state didn't change */ - ++ec->curr->irq_count; +if (in_interrupt ()) + ++ec->curr->irq_count; unlock:spin_unlock_irqrestore (&ec->curr_lock, flags); }
Re: [PATCH] ACPI: EC: count interrupts only if called from interrupt handler.
Quoted 1 line · Alexey Starikovskiy
Signed-off-by Alexey Starikovskiy <[email protected]>
Thanks for the patch.
After applying the patch, there is no EC GPE storm and EC will work
in EC GPE interrupt mode. It works as what we expected. Thanks for the patch again.
Quoted 25 lines
---
drivers/acpi/ec.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)drivers/acpi/ec.c +2
-2@@ -219,7 +219,8 @@ static void gpe_transaction(struct acpi_ec *ec, u8 status) goto unlock; err:/* false interrupt, state didn't change */ - ++ec->curr->irq_count; +if (in_interrupt ()) + ++ec->curr->irq_count; unlock:spin_unlock_irqrestore (&ec->curr_lock, flags); } --To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Len Brown
reviewerRe: [PATCH] ACPI: EC: count interrupts only if called from interrupt handler.
In reply to Alexey Starikovskiyapplied for 2.6.28
thanks,
-len
Quoted 22 lines · Alexey Starikovskiy
Signed-off-by Alexey Starikovskiy <[email protected]>---
drivers/acpi/ec.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)drivers/acpi/ec.c +2
-1@@ -219,7 +219,8 @@ static void gpe_transaction(struct acpi_ec *ec, u8 status) goto unlock; err:/* false interrupt, state didn't change */ - ++ec->curr->irq_count; +if (in_interrupt ()) + ++ec->curr->irq_count; unlock:spin_unlock_irqrestore (&ec->curr_lock, flags); }