Merge branch 'linus' into stackprotector
This commit is contained in:
@@ -306,6 +306,7 @@ void flush_thread(void)
|
||||
/*
|
||||
* Forget coprocessor state..
|
||||
*/
|
||||
tsk->fpu_counter = 0;
|
||||
clear_fpu(tsk);
|
||||
clear_used_math();
|
||||
}
|
||||
@@ -669,8 +670,11 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
|
||||
/* If the task has used fpu the last 5 timeslices, just do a full
|
||||
* restore of the math state immediately to avoid the trap; the
|
||||
* chances of needing FPU soon are obviously high now
|
||||
*
|
||||
* tsk_used_math() checks prevent calling math_state_restore(),
|
||||
* which can sleep in the case of !tsk_used_math()
|
||||
*/
|
||||
if (next_p->fpu_counter>5)
|
||||
if (tsk_used_math(next_p) && next_p->fpu_counter > 5)
|
||||
math_state_restore();
|
||||
return prev_p;
|
||||
}
|
||||
|
Reference in New Issue
Block a user