diff -urN linux-2.4.28-pre3-preempt/arch/alpha/kernel/entry.S linux-2.4.28-pre3-fix-task_struct/arch/alpha/kernel/entry.S --- linux-2.4.28-pre3-preempt/arch/alpha/kernel/entry.S Tue Apr 22 03:04:15 2003 +++ linux-2.4.28-pre3-fix-task_struct/arch/alpha/kernel/entry.S Sun Sep 19 01:41:54 2004 @@ -29,13 +29,11 @@ * task structure offsets */ #define TASK_STATE 0 -#define TASK_FLAGS 8 -#define TASK_SIGPENDING 16 -#define TASK_ADDR_LIMIT 24 -#define TASK_EXEC_DOMAIN 32 -#define TASK_NEED_RESCHED 40 -#define TASK_PTRACE 48 -#define TASK_PROCESSOR 100 +#define TASK_SIGPENDING 12 +#define TASK_ADDR_LIMIT 16 +#define TASK_EXEC_DOMAIN 24 +#define TASK_NEED_RESCHED 32 +#define TASK_PTRACE 40 /* * task flags (must match include/linux/sched.h): diff -urN linux-2.4.28-pre3-preempt/arch/i386/kernel/entry.S linux-2.4.28-pre3-fix-task_struct/arch/i386/kernel/entry.S --- linux-2.4.28-pre3-preempt/arch/i386/kernel/entry.S Sun Sep 19 01:53:22 2004 +++ linux-2.4.28-pre3-fix-task_struct/arch/i386/kernel/entry.S Sun Sep 19 01:43:35 2004 @@ -79,7 +79,7 @@ exec_domain = 16 need_resched = 20 tsk_ptrace = 24 -processor = 52 +processor = 32 /* These are offsets into the irq_stat structure * There is one per cpu and it is aligned to 32 diff -urN linux-2.4.28-pre3-preempt/include/linux/sched.h linux-2.4.28-pre3-fix-task_struct/include/linux/sched.h --- linux-2.4.28-pre3-preempt/include/linux/sched.h Sun Sep 19 01:53:22 2004 +++ linux-2.4.28-pre3-fix-task_struct/include/linux/sched.h Sun Sep 19 01:56:55 2004 @@ -306,11 +306,12 @@ * all fields in a single cacheline that are needed for * the goodness() loop in schedule(). */ + int processor; long counter; long nice; unsigned long policy; struct mm_struct *mm; - int processor; + unsigned long flags; /* * cpus_runnable is ~0 if the process is not running on any * CPU. It's (1 << cpu) if it's running on a CPU. This mask @@ -331,7 +332,6 @@ struct mm_struct *active_mm; struct list_head local_pages; unsigned int allocation_order, nr_local_pages; - unsigned long flags; /* task state */ struct linux_binfmt *binfmt;