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 <[email protected]>
Index: 2.6.28-rc7/arch/x86/include/asm/thread_info.h
===================================================================
--- 2.6.28-rc7.orig/arch/x86/include/asm/thread_info.h 2008-12-03 17:53:10.000000000 -0500
+++ 2.6.28-rc7/arch/x86/include/asm/thread_info.h 2008-12-03 18:31:40.000000000 -0500
@@ -24,7 +24,7 @@
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,
* Joe Korty <[email protected]> wrote:
> 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 <[email protected]>
applied, thanks Joe!
Ingo