Messages in this thread | | | Date | Fri, 9 Dec 2005 04:49:39 -0800 | From | Venkatesh Pallipadi <> | Subject | Re: [RFC][PATCH 2/3]i386,x86-64 Handle missing local APIC timer interrupts on C3 state |
| |
On Fri, Dec 09, 2005 at 12:06:35AM -0800, Zwane Mwaikambo wrote: > On Thu, 8 Dec 2005, Venkatesh Pallipadi wrote: > > > Whenever we see that a CPU is capable of C3 (during ACPI cstate init), we > > disable local APIC timer and switch to using a broadcast from external timer > > interrupt (IRQ 0). > > > > +void smp_send_timer_broadcast_ipi(struct pt_regs *regs); > > +void switch_APIC_timer_to_ipi(void *cpumask); > > +void switch_ipi_to_APIC_timer(void *cpumask); > > When is this used?
+void smp_send_timer_broadcast_ipi(struct pt_regs *regs); This is called by the IRQ0 timer interrupt handler, to check whether any CPUs have enrolled for this broadcast.
+void switch_APIC_timer_to_ipi(void *cpumask); Called by acpi processor driver when it find out that a particular CPU can support C3 state (and it is an Intel CPU).
+void switch_ipi_to_APIC_timer(void *cpumask); Called by acpi processor driver again to reset to APIC_timer when C3 is not supported by the CPU.
The acpi processor driver calls can be at the boot time, or can be at run time if BIOS enables/disables C3 at run time.
Thanks, Venki
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |