svn commit: r348802 - head/sys/amd64/amd64
Konstantin Belousov
kib at FreeBSD.org
Sat Jun 8 16:03:35 UTC 2019
Author: kib
Date: Sat Jun 8 16:03:34 2019
New Revision: 348802
URL: https://svnweb.freebsd.org/changeset/base/348802
Log:
Remove lazy FPU switch support from amd64.
It is incompatible with some future features.
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Modified:
head/sys/amd64/amd64/fpu.c
Modified: head/sys/amd64/amd64/fpu.c
==============================================================================
--- head/sys/amd64/amd64/fpu.c Sat Jun 8 15:24:03 2019 (r348801)
+++ head/sys/amd64/amd64/fpu.c Sat Jun 8 16:03:34 2019 (r348802)
@@ -154,11 +154,6 @@ static void fpu_clean_state(void);
SYSCTL_INT(_hw, HW_FLOATINGPT, floatingpoint, CTLFLAG_RD,
SYSCTL_NULL_INT_PTR, 1, "Floating point instructions executed in hardware");
-int lazy_fpu_switch = 0;
-SYSCTL_INT(_hw, OID_AUTO, lazy_fpu_switch, CTLFLAG_RWTUN | CTLFLAG_NOFETCH,
- &lazy_fpu_switch, 0,
- "Lazily load FPU context after context switch");
-
int use_xsave; /* non-static for cpu_switch.S */
uint64_t xsave_mask; /* the same */
static uma_zone_t fpu_save_area_zone;
@@ -269,7 +264,6 @@ fpuinit_bsp1(void)
uint64_t xsave_mask_user;
bool old_wp;
- TUNABLE_INT_FETCH("hw.lazy_fpu_switch", &lazy_fpu_switch);
if (!use_xsave)
return;
cpuid_count(0xd, 0x0, cp);
@@ -774,8 +768,7 @@ void
fpu_activate_sw(struct thread *td)
{
- if (lazy_fpu_switch || (td->td_pflags & TDP_KTHREAD) != 0 ||
- !PCB_USER_FPU(td->td_pcb)) {
+ if ((td->td_pflags & TDP_KTHREAD) != 0 || !PCB_USER_FPU(td->td_pcb)) {
PCPU_SET(fpcurthread, NULL);
start_emulating();
} else if (PCPU_GET(fpcurthread) != td) {
More information about the svn-src-all
mailing list