x86: change thread_info's flag field back to 32 bits
authorJoe Korty <joe.korty@ccur.com>
Wed, 3 Dec 2008 23:58:19 +0000 (18:58 -0500)
committerIngo Molnar <mingo@elte.hu>
Thu, 4 Dec 2008 10:06:03 +0000 (11:06 +0100)
Impact: pack struct thread_info more tightly

Change x86_64's thread_info 'flags' field back to __u32.

This was changed to 'unsigned long' when the thread_info*.h
for i386 and x86_64 were merged.  Change it back.  We can
do this as only 27 bits of 'flags' are actually used.

This change actually packs down thread_info by 64 bits:
32 bits are saved by the smaller flags, and 32 bits are
saved by the following 'mm_segment_t field' becoming
naturally 64-bit aligned.

Signed-off-by: Joe Korty <joe.korty@ccur.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/include/asm/thread_info.h

index e44d379faad2b891245ef9cc2332dcaf8f8491c5..8dbc57390d2573c495afbd03ddf33d4dac390a42 100644 (file)
@@ -24,7 +24,7 @@ struct exec_domain;
 struct thread_info {
        struct task_struct      *task;          /* main task structure */
        struct exec_domain      *exec_domain;   /* execution domain */
-       unsigned long           flags;          /* low level flags */
+       __u32                   flags;          /* low level flags */
        __u32                   status;         /* thread synchronous flags */
        __u32                   cpu;            /* current CPU */
        int                     preempt_count;  /* 0 => preemptable,