diff options
| author | Linus Torvalds <torvalds@home.transmeta.com> | 2003-03-09 18:20:35 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2003-03-09 18:20:35 -0800 |
| commit | 450b4497e37d77eb6ab44b9001c50e68de38afde (patch) | |
| tree | 53843cc42acbb8d928b53afd4a453b8ce202d82f /include/asm-sh/processor.h | |
| parent | 36f0619922472bf8e5ecf83ac420114952a87bf3 (diff) | |
Move "used FPU status" into new non-atomic thread_info->status field.
This allows us to avoid having to use atomic updates for the lazy FP
status setting, since we don't have to worry about other CPU's racing
on the fields.
Also, fix x86 FP state after fork() by making sure the FP is unlazied
_before_ we copy the state information. Otherwise, if a process did a
fork() while holding the FP state lazily in the registers, the child
would incorrectly unlazy bogus state.
Diffstat (limited to 'include/asm-sh/processor.h')
| -rw-r--r-- | include/asm-sh/processor.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/asm-sh/processor.h b/include/asm-sh/processor.h index b3fd05c8cfd8..673ae9035bb9 100644 --- a/include/asm-sh/processor.h +++ b/include/asm-sh/processor.h @@ -134,6 +134,10 @@ struct mm_struct; /* Free all resources held by a thread. */ extern void release_thread(struct task_struct *); + +/* Prepare to copy thread state - unlazy all lazy status */ +#define prepare_to_copy(tsk) do { } while (0) + /* * create a kernel thread without removing it from tasklists */ |
