Re: local apic timer ints not working with vmware: nolocalapic

From: Brian J. Murrell (brian@interlinx.bc.ca)
Date: Fri May 30 2003 - 22:48:27 EST


On Fri, 30 May 2003 19:23:33 -0400, Zwane Mwaikambo wrote:
>
> Considering the dalay, i'll resend and give it another go, but generally
> it means it's not going anywhere.

That sucks.

>
>> The unfortunate thing is that even this sort of fix will not help my
>> situation. The reason being (which I only discovered by accident when I
>> set "dont_enable_local_apic = 1" rather than "dont_use_local_apic_timer"
>> and it didn't correct the booting problem) is that it seems that even if
>> the local apic is set disabled by setting dont_enable_local_apic = 1 in
>> arch/i386/kernel/apic.c, setup_APIC_clocks() is still called.
>
> How did you determine that?

Well, originally it was a mistake in setting the wrong flag to 1
(dont_enable_local_apic rather than dont_use_local_apic_timer) and finding
that it did not cure the problem, when I went back to my change to figure
out why, I noticed that I had set the wrong flag.

> Was this with my patch applied?

I did not try your patch since I did pretty much the same thing with my
"mistake" described above.

> I
> originally did this patch for the exact same problem (buggy local APIC
> implimentation).

I know nothing about the APIC stuff, but it seems strange that even though
it's disabled (dont_enable_local_apic = 1) setup_APIC_clocks() is still
called. Maybe the latter is not dependent on the former, so there should
not be a dependence on dont_enable_local_apic == 0 for setup_APIC_clocks()
to still be used.

> Linux version 2.5.70-mm1 (zwane@xxxxxxxxxxxxxxxxxxxxxxxx) (gcc version
> Kernel command line: nolapic nmi_watchdog=2 ro root=/dev/hda1 profile=2
> debug console=tty0 cons0
> kernel profiling enabled
> Initializing CPU#0
> CPU0: Intel Celeron (Mendocino) stepping 05
> per-CPU timeslice cutoff: 365.65 usecs.
> task migration cache decay timeout: 1 msecs.
> SMP motherboard not detected.
> Local APIC not detected. Using dummy APIC emulation.
> Starting migration thread for cpu 0

Yes, it's further along in the boot where my system runs into trouble,
right here:

Using local APIC timer interrupts.
calibrating APIC timer ...
..... CPU clock speed is 1658.7651 MHz.
..... host bus clock speed is 0.0000 MHz.
cpu: 0, clocks: 0, slice: 0

I will take another stab at all of this tomorrow to double-verify what I
am saying here regarding the use of local APIC timer interrupts even if
the local apic usage flag is set to disable (dont_enable_local_apic = 1).

b.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/