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