From: Eric W. Biederman
Date: Fri Jul 29 2005 - 11:17:26 EST
"Martin J. Bligh" <mbligh@xxxxxxxxxx> writes:
>> From: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
>> sync_tsc was using smp_call_function to ask the boot processor to report
>> it's tsc value. smp_call_function performs an IPI_send_allbutself which is
>> a broadcast ipi. There is a window during processor startup during which
>> the target cpu has started and before it has initialized it's interrupt
>> vectors so it can properly process an interrupt. Receveing an interrupt
>> during that window will triple fault the cpu and do other nasty things.
> Wheeeeeeee! that does indeed seem to work. Nice job.
Welcome. I hadn't how many people were tracking this.
>> I believe this patch suffers from apicid versus logical cpu number
>> confusion. I copied the basic logic from smp_send_reschedule and I can't
>> find where that translates from the logical cpuid to apicid. So it isn't
>> quite correct yet. It should be close enough that it shouldn't be too hard
>> to finish it up.
>> More bug fixes after I have slept but I figured I needed to get this
>> one out for review.
> Eric, when you have a final version, throw it over to me, and I'll give
> that one a spin-test too ...
With respect to the fix that is final. The rest of the bug
fixes in my queue are for other problems.
Mostly my concerns are with respect to apicid vs logical cpu
numbers that I'm not certain are handled properly in the code.
genapic_flat doesn't seem to do any translation. And I don't
recall if boot_cpu_id is an apic_id or a logical cpu number.
On most hardware it is 0 in either case so it doesn't matter.
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/