Messages in this thread | | | Subject | x86_64: tss_struct layout does not match comments !? | From | Richard Kennedy <> | Date | Thu, 03 Jul 2008 11:47:29 +0100 |
| |
Hi Ingo,
the comments in the definition of tss_struct suggests is should be cacheline aligned ( or 256 byte aligned ? ) :-
|struct tss_struct { |.... | /* | * Pad the TSS to be cacheline-aligned (size is 0x100): | */ | unsigned long __cacheline_filler[35]; | /* | * .. and then another 0x100 bytes for the emergency kernel stack: | */ | unsigned long stack[64]; | |} __attribute__((packed));
However on a 64 bit build the size of tss_struct is 9136, cacheline_filler is 280 and stack size is 512 at offset 8624. None of which are cacheline aligned.
I'm guessing this isn't what was intended.
do you know what the original intention was ?
1. struct tss_struct{...} __cacheline_aligned; or just 2. struct tss_struct { ... long stack[64] __cacheline_aligned; }
Richard
| |