|
@@ -1233,32 +1233,34 @@ static inline void task_unlock(struct task_struct *p)
|
|
|
spin_unlock(&p->alloc_lock);
|
|
|
}
|
|
|
|
|
|
+#define task_thread_info(task) (task)->thread_info
|
|
|
+
|
|
|
/* set thread flags in other task's structures
|
|
|
* - see asm/thread_info.h for TIF_xxxx flags available
|
|
|
*/
|
|
|
static inline void set_tsk_thread_flag(struct task_struct *tsk, int flag)
|
|
|
{
|
|
|
- set_ti_thread_flag(tsk->thread_info,flag);
|
|
|
+ set_ti_thread_flag(task_thread_info(tsk), flag);
|
|
|
}
|
|
|
|
|
|
static inline void clear_tsk_thread_flag(struct task_struct *tsk, int flag)
|
|
|
{
|
|
|
- clear_ti_thread_flag(tsk->thread_info,flag);
|
|
|
+ clear_ti_thread_flag(task_thread_info(tsk), flag);
|
|
|
}
|
|
|
|
|
|
static inline int test_and_set_tsk_thread_flag(struct task_struct *tsk, int flag)
|
|
|
{
|
|
|
- return test_and_set_ti_thread_flag(tsk->thread_info,flag);
|
|
|
+ return test_and_set_ti_thread_flag(task_thread_info(tsk), flag);
|
|
|
}
|
|
|
|
|
|
static inline int test_and_clear_tsk_thread_flag(struct task_struct *tsk, int flag)
|
|
|
{
|
|
|
- return test_and_clear_ti_thread_flag(tsk->thread_info,flag);
|
|
|
+ return test_and_clear_ti_thread_flag(task_thread_info(tsk), flag);
|
|
|
}
|
|
|
|
|
|
static inline int test_tsk_thread_flag(struct task_struct *tsk, int flag)
|
|
|
{
|
|
|
- return test_ti_thread_flag(tsk->thread_info,flag);
|
|
|
+ return test_ti_thread_flag(task_thread_info(tsk), flag);
|
|
|
}
|
|
|
|
|
|
static inline void set_tsk_need_resched(struct task_struct *tsk)
|
|
@@ -1329,12 +1331,12 @@ extern void signal_wake_up(struct task_struct *t, int resume_stopped);
|
|
|
|
|
|
static inline unsigned int task_cpu(const struct task_struct *p)
|
|
|
{
|
|
|
- return p->thread_info->cpu;
|
|
|
+ return task_thread_info(p)->cpu;
|
|
|
}
|
|
|
|
|
|
static inline void set_task_cpu(struct task_struct *p, unsigned int cpu)
|
|
|
{
|
|
|
- p->thread_info->cpu = cpu;
|
|
|
+ task_thread_info(p)->cpu = cpu;
|
|
|
}
|
|
|
|
|
|
#else
|