summaryrefslogtreecommitdiffstats
path: root/sys/i386
diff options
context:
space:
mode:
authorups <ups@FreeBSD.org>2004-12-07 02:56:14 +0000
committerups <ups@FreeBSD.org>2004-12-07 02:56:14 +0000
commit0e26edfd436d5df78b2c008752440ba5e80c9dc6 (patch)
treee3607e5e45c21a9789fff6dd293953310ca3a6f6 /sys/i386
parent5e81937a6f726a7a4d9795a3c5154af5964d6fd8 (diff)
downloadFreeBSD-src-0e26edfd436d5df78b2c008752440ba5e80c9dc6.zip
FreeBSD-src-0e26edfd436d5df78b2c008752440ba5e80c9dc6.tar.gz
Move reading the current CPU mask in pmap_lazyfix() to where the thread
is protected from migrating to another CPU. Approved by: sam (mentor) MFC after: 4 weeks
Diffstat (limited to 'sys/i386')
-rw-r--r--sys/i386/i386/pmap.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/i386/i386/pmap.c b/sys/i386/i386/pmap.c
index 5a47d87..d16bf02 100644
--- a/sys/i386/i386/pmap.c
+++ b/sys/i386/i386/pmap.c
@@ -1276,7 +1276,7 @@ pmap_lazyfix_self(u_int mymask)
static void
pmap_lazyfix(pmap_t pmap)
{
- u_int mymask = PCPU_GET(cpumask);
+ u_int mymask;
u_int mask;
register u_int spins;
@@ -1289,6 +1289,7 @@ pmap_lazyfix(pmap_t pmap)
#else
lazyptd = vtophys(pmap->pm_pdir);
#endif
+ mymask = PCPU_GET(cpumask);
if (mask == mymask) {
lazymask = &pmap->pm_active;
pmap_lazyfix_self(mymask);
OpenPOWER on IntegriCloud