Page MenuHomeFreeBSD

x86: Don't bother copying the FPU state for cpu_copy_thread().
AbandonedPublic

Authored by jhb on Mar 3 2021, 12:12 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Jun 22, 12:21 AM
Unknown Object (File)
Thu, Jun 19, 11:46 AM
Unknown Object (File)
Wed, Jun 18, 4:27 AM
Unknown Object (File)
Tue, Jun 17, 8:47 PM
Unknown Object (File)
May 31 2025, 10:43 PM
Unknown Object (File)
Apr 30 2025, 5:09 PM
Unknown Object (File)
Apr 20 2025, 5:08 AM
Unknown Object (File)
Feb 24 2025, 5:47 AM
Subscribers

Details

Reviewers
kib
Summary

The copied state never gets used since the FPU INITDONE flags are
always cleared in the new threads causing the first DNA trap to
overwrite the saved state with the appropriate initial state.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 37516
Build 34405: arc lint + arc unit

Event Timeline

jhb requested review of this revision.Mar 3 2021, 12:12 AM
This revision is now accepted and ready to land.Mar 3 2021, 3:25 AM

So now I'm a bit torn on this due to the language for pthread_create() I found in the other review. If the "floating point environment" includes register values, then what we should be doing here instead is avoid clearing the INITDONE flags in the pcb for cpu_copy_thread().