aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorAlan Cox <alc@FreeBSD.org>2003-07-08 19:40:35 +0000
committerAlan Cox <alc@FreeBSD.org>2003-07-08 19:40:35 +0000
commit90a7c7b67196a3bfe657b2bf271dbda3997ccdd7 (patch)
tree192c1d801ad9362f959c44b84a27a44a27895a80 /sys
parent6c525ee43c7a32f3ad0ebdcbd0d0e79b93504eeb (diff)
downloadsrc-90a7c7b67196a3bfe657b2bf271dbda3997ccdd7.tar.gz
src-90a7c7b67196a3bfe657b2bf271dbda3997ccdd7.zip
In pmap_object_init_pt(), the pmap_invalidate_all() should be performed on
the caller-provided pmap, not the kernel_pmap. Using the kernel_pmap results in an unnecessary IPI for TLB shootdown on SMPs. Reviewed by: jake, peter
Notes
Notes: svn path=/head/; revision=117340
Diffstat (limited to 'sys')
-rw-r--r--sys/amd64/amd64/pmap.c2
-rw-r--r--sys/i386/i386/pmap.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c
index 83aae580d545..691993d72520 100644
--- a/sys/amd64/amd64/pmap.c
+++ b/sys/amd64/amd64/pmap.c
@@ -2119,7 +2119,7 @@ retry:
ptepa += NBPDR;
pde++;
}
- pmap_invalidate_all(kernel_pmap);
+ pmap_invalidate_all(pmap);
}
}
diff --git a/sys/i386/i386/pmap.c b/sys/i386/i386/pmap.c
index 0e3460099b3d..a819da257c3e 100644
--- a/sys/i386/i386/pmap.c
+++ b/sys/i386/i386/pmap.c
@@ -2264,7 +2264,7 @@ retry:
ptepa += NBPDR;
ptepindex += 1;
}
- pmap_invalidate_all(kernel_pmap);
+ pmap_invalidate_all(pmap);
}
}