diff options
author | alc <alc@FreeBSD.org> | 2003-07-08 19:40:35 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2003-07-08 19:40:35 +0000 |
commit | 3d2e5159d92fde431ac53c9ee408a2103d5b17ee (patch) | |
tree | 192c1d801ad9362f959c44b84a27a44a27895a80 | |
parent | 7e662706e873d959e220201a5aea98c85e799bfe (diff) | |
download | FreeBSD-src-3d2e5159d92fde431ac53c9ee408a2103d5b17ee.zip FreeBSD-src-3d2e5159d92fde431ac53c9ee408a2103d5b17ee.tar.gz |
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
-rw-r--r-- | sys/amd64/amd64/pmap.c | 2 | ||||
-rw-r--r-- | sys/i386/i386/pmap.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c index 83aae58..691993d 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 0e34600..a819da2 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); } } |