diff options
author | ups <ups@FreeBSD.org> | 2004-12-07 02:56:14 +0000 |
---|---|---|
committer | ups <ups@FreeBSD.org> | 2004-12-07 02:56:14 +0000 |
commit | 0e26edfd436d5df78b2c008752440ba5e80c9dc6 (patch) | |
tree | e3607e5e45c21a9789fff6dd293953310ca3a6f6 | |
parent | 5e81937a6f726a7a4d9795a3c5154af5964d6fd8 (diff) | |
download | FreeBSD-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
-rw-r--r-- | sys/i386/i386/pmap.c | 3 |
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); |