acpi_unlazy_tlb only on C3 entry
PATCH 1/1 acpi_unlazy_tlb only on C3 entry
Earlier patch here
http://ussg.iu.edu/hypermail/linux/kernel/0712.2/1451.html
was intending to add acpi_unlazy_tlb() to acpi_idle_enter_bm() routine which is used for C3 entry. But, some where along the way the call got added to acpi_idle_enter_simple() (which is C2 entry routine), probably due to identical context in that function. Move it back to acpi_idle_enter_bm().
--- drivers/acpi/processor_idle.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/acpi/processor_idle.c +2 -1
@@ -1487,7 +1487,6 @@ static int acpi_idle_enter_simple(structreturn 0 ; } -acpi_unlazy_tlb (smp_processor_id ());/* * Must be done before busmaster disable as we might need to * access HPET !
@@ -1577,6 +1576,8 @@ static int acpi_idle_enter_bm(struct cpureturn 0 ; } +acpi_unlazy_tlb (smp_processor_id ()); +/* Tell the scheduler that we are going deep-idle: */ sched_clock_idle_sleep_event ();/*
Yes, this was causeed by a merge error -- the checked-in patch did not match the e-mailed patch.
I found that I could reproduce the error if I used patch(1) and ignored this:
patching file drivers/acpi/processor_idle.c Hunk #1 succeeded at 534 with fuzz 2 (offset 4 lines). Hunk #2 succeeded at 1420 (offset -66 lines).
The 2nd hunk is what failed:
drivers/acpi/processor_idle.c +2 -0
@@ -530,6 +530,7 @@ static void acpi_processor_idle(void)break ;case ACPI_STATE_C3 : +acpi_unlazy_tlb (smp_processor_id ());/* * disable bus master * bm_check implies we need ARB_DIS
@@ -1485,6 +1486,7 @@ static int acpi_idle_enter_bm(struct cpureturn 0 ; } +acpi_unlazy_tlb (smp_processor_id ());/* * Must be done before busmaster disable as we might need to * access HPET !
As this touches just acpi/processor_idle.c, I'll send this with a batch of acpi patches I've got.
applied.
thanks,
-Len
Quoted 41 lines · Venki Pallipadi
Earlier patch here
http://ussg.iu.edu/hypermail/linux/kernel/0712.2/1451.html
was intending to addacpi_unlazy_tlb()toacpi_idle_enter_bm()routine which is used for C3 entry. But, some where along the way the call got added toacpi_idle_enter_simple()(which is C2 entry routine), probably due to identical context in that function. Move it back toacpi_idle_enter_bm().Signed-off-by Venkatesh Pallipadi <[email protected]>--- drivers/acpi/processor_idle.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)Index:
linux-2.6-x86.git/drivers/acpi/processor_idle.c
===================================================================drivers/acpi/processor_idle.c +2
-2@@ -1487,7 +1487,6 @@ static int acpi_idle_enter_simple(structreturn 0 ; } -acpi_unlazy_tlb (smp_processor_id ());/* * Must be done before busmaster disable as we might need to * access HPET ! @@ -1577,6 +1576,8 @@ static int acpi_idle_enter_bm(struct cpureturn 0 ; } +acpi_unlazy_tlb (smp_processor_id ()); +/* Tell the scheduler that we are going deep-idle: */ sched_clock_idle_sleep_event ();/* -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/