summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2003-07-08 19:40:35 +0000
committeralc <alc@FreeBSD.org>2003-07-08 19:40:35 +0000
commit3d2e5159d92fde431ac53c9ee408a2103d5b17ee (patch)
tree192c1d801ad9362f959c44b84a27a44a27895a80
parent7e662706e873d959e220201a5aea98c85e799bfe (diff)
downloadFreeBSD-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.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 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);
}
}
OpenPOWER on IntegriCloud