Date: Tue, 5 Jun 2007 00:16:43 +0000 (UTC) From: Jeff Roberson <jeff@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/amd64/amd64 cpu_switch.S Message-ID: <200706050016.l550GhDH093630@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
jeff 2007-06-05 00:16:43 UTC FreeBSD src repository Modified files: sys/amd64/amd64 cpu_switch.S Log: - Add a new argument to cpu_switch. This is a pointer to a mutex that oldthread should point at before we return. - When cpu_switch() is called the td_lock pointer in the old thread may point at the blocked lock. This prevents other processors from switching into this thread while we're still switching out. Wait until we're done deactivating the vmspace before we release the thread by assigning to td_lock. - Before we can activate the new vmspace we must make sure that the new thread is not assigned to the blocked lock. It may be in the process of switching out on another cpu. Spin until the new thread is available. Revision Changes Path 1.157 +27 -14 src/sys/amd64/amd64/cpu_switch.S
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200706050016.l550GhDH093630>