Re: [Crash-utility] crash 4.0-2.8 fails on 2.6.14-rc5 (EM64T)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Sorry I've generated some unnecesary confusion re: my comments
about the use of DEFINE_PER_CPU and DECLARE_PER_CPU.
That's what I get for trying to multi-task...

Stepping back, the init_tss array is defined in "arch/x86_64/kernel/init_task.c".

In 2.6.9, it's declared like so:

/*
 * per-CPU TSS segments. Threads are completely 'soft' on Linux,
 * no more per-task TSS's. The TSS size is kept cacheline-aligned
 * so they are allowed to end up in the .data.cacheline_aligned
 * section. Since TSS's are completely CPU-local, we want them
 * on exact cacheline boundaries, to eliminate cacheline ping-pong.
 */
DEFINE_PER_CPU(struct tss_struct, init_tss) ____cacheline_maxaligned_in_smp;

In 2.6.13, it's slightly different in that it is initialized to INIT_TSS:

/*
 * per-CPU TSS segments. Threads are completely 'soft' on Linux,
 * no more per-task TSS's. The TSS size is kept cacheline-aligned
 * so they are allowed to end up in the .data.cacheline_aligned
 * section. Since TSS's are completely CPU-local, we want them
 * on exact cacheline boundaries, to eliminate cacheline ping-pong.
 */
DEFINE_PER_CPU(struct tss_struct, init_tss) ____cacheline_maxaligned_in_smp = INIT_TSS;

Both kernels have the same DECLARE_PER_CPU in the
"x86_64/processor.h" header file:

DECLARE_PER_CPU(struct tss_struct,init_tss);

That being the case, and not seeing why the INIT_TSS initialization should
have anything to do with the problem at hand, I am officially stumped at
why the 2.6.14 kernel shows the problem with your patch.

Dave



[Index of Archives]     [Fedora Development]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]

 

Powered by Linux