NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
PR/53399 CVS commit: src/sys/arch
The following reply was made to PR kern/53399; it has been noted by GNATS.
From: "Maxime Villard" <maxv%netbsd.org@localhost>
To: gnats-bugs%gnats.NetBSD.org@localhost
Cc:
Subject: PR/53399 CVS commit: src/sys/arch
Date: Fri, 29 Jun 2018 19:21:43 +0000
Module Name: src
Committed By: maxv
Date: Fri Jun 29 19:21:43 UTC 2018
Modified Files:
src/sys/arch/amd64/amd64: locore.S
src/sys/arch/i386/i386: locore.S
Log Message:
Call fpu_eagerswitch a little later, after we make sure newlwp is not
pinned.
Because if it is, the fpu state of the lwp we are context-switching to
is already installed on the current cpu, so no point re-installing it.
Or, it isn't, and in this case we don't want to install it.
This wrong re-installation can occur when we leave a softint.
It may fix bugs in places that call fpusave_lwp with spl != IPL_HIGH,
and that expect the fpu state to stay in memory. As far as I can tell
only cpu_lwp_free meets these conditions, and as far as I can tell
again, there it's harmless.
Should help PR/53399.
To generate a diff of this commit:
cvs rdiff -u -r1.166 -r1.167 src/sys/arch/amd64/amd64/locore.S
cvs rdiff -u -r1.157 -r1.158 src/sys/arch/i386/i386/locore.S
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index